https://lucid.app/lucidspark/f417a0ec-a4c9-4aeb-81ee-d4c9e69918a3/edit?viewport_loc=-24%2C133%2C2389%2C1376%2C0_0&invitationId=inv_8fb872cb-2859-4dd0-be96-50fa479b6d20
Client Layer:
Load Balancer:
API Gateway:
Microservices:
The microservices architecture will allow us to easily modify or scale specific parts of the app without affecting the entire application.
Data Layer:
Integration Layer:
Active Directory:
Category | Technology | Reason |
---|---|---|
Frontend | Javascript + React/Next.Js | Component-based architecture, huge ecosystem and community support, easy to scale, and suitable for large and complex systems. |
Backend | Node + Express | Javascript around ecosystem, large package ecosystem |
Database | PostgreSQL | Supports complex queries and very robust |
ORM | Prisma | Type-safe database access, supports migrations |
Microservices | Docker + Kubernetes | Containerization and orchestration for scalable microservices architecture |
Maps | Leaflet.js + OpenStreetMap | As recommended in the PRD |
LLM Integration | OpenAI + Other LLM API | SOTA models for AI capabilities |
Websockets | Socket.io | Real-time, bidirectional communication between web clients and servers |
The system will use a REST API to communicate between FE and BE: