Aramis: a comprehensive platform for smart urban services
One of Karzaan Software Group’s strategic products, the Aramis app has transformed access to urban and commercial services. By combining a multi-purpose card (healthcare, shopping, citizenship), a smart discount system and a merchant management panel, the platform provides an integrated ecosystem for citizens and businesses. This technical review looks at Aramis’s architecture, key technologies and how it works.
System architecture
The system is built on a modern three-layer architecture with a focus on real-time response.
User layer (frontend):
- Cross-platform development with Flutter for iOS, Android and the web
- Dynamic theming support for each organization’s branding
- Bloc state management for the complex state of transactions
- Middle layer (backend):
- Node.js + Express.js for processing high-frequency transactions
- A RESTful API with real-time updates (WebSockets)
- Specialized modules:
- Card issuing
- Discount engine
- Payment splitting
- Data layer (database):
- MongoDB Atlas (a managed cloud service)
- Special optimization for financial transactions
Key technologies
Component |
Technologies |
Technical benefits |
|---|---|---|
Frontend |
Flutter 3.x + Dart 2.17 |
60 FPS rendering, hot reload |
Firebase Analytics |
Tracking user behavior |
|
Backend |
Node.js 18 + Express 4.x |
10,000+ requests per second |
Socket.io |
Real-time notifications (such as payment confirmation) |
|
Database |
MongoDB 6.x |
Automatic sharding, real-time backup |
DevOps |
GitHub Actions |
Automated CI/CD |
AWS Lambda (serverless functions) |
MongoDB database architecture
Given the decentralized and dynamic nature of the data in Aramis, choosing MongoDB brought key benefits:
- Document model:
- Storing user profiles with varying structures
· Transaction optimizations:
- Horizontal sharding to handle 100,000+ daily transactions
- Compound indexes on frequently used fields
- ACID transaction support:
- Multi-document ACID transactions for sensitive financial operations
Merchant (store) management system
A dedicated module for sellers with:
- A real-time management panel:
- Viewing transactions as they happen
- Product catalog management (CRUD operations)
- Daily/weekly sales reports
- POS integration:
- Connection to barcode scanners and receipt printers
- Automatic inventory synchronization
Security considerations
- Data security:
- TLS/SSL encryption on every layer
- Field-level encryption for sensitive card information
- Authentication:
- OAuth 2.0 + JWT for users
- API key + IP whitelisting for merchants
- Legal compliance:
- Following PCI DSS for financial processing
- Compliance with Iran’s electronic commerce law
Technical strengths
- Extensibility:
- A modular architecture for adding new services (such as a fuel card)
- Fault tolerance:
- Retry/circuit breaker patterns in communication with banks
- A consistent user experience:
- Native performance on every platform with Flutter
- Lower costs:
- Serverless functions for periodic jobs (such as fee calculations)
Conclusion
Built on world-class modern technologies (Flutter, Node.js, MongoDB) and a scalable architecture, Aramis offers a secure, fast and easy-to-use platform for managing urban and commercial services. The app not only meets citizens’ needs with its multi-purpose card and smart discounts, but, by offering a dedicated merchant panel, has also digitized the whole value chain from consumer to seller. Through innovation in combining technology with urban services, the Karzaan team has taken a big step toward the smart city.
Ideas for future versions
- Adding a store rating system
- Implementing cross-border payments
- Using AI for personalized discount suggestions
To learn how apps are designed, these articles on the Karzaan blog may help:
- Custom app or off-the-shelf app? A guide to the right choice for your business
- Enterprise mobile app design: a complete guide from zero to launch (in Persian)
- Building an app with AI: the best methods and tools (in Persian)
- The benefits of mobile app design: a step toward success (in Persian)
- What is app design? The features of a successful app (in Persian)
- Website or app? Which is more useful? (in Persian)
