System Architecture
Purpose
This page documents the high-level technical architecture of the Maqsafy platform, including the main components, request flow, and integration boundaries.
Main Components
| Component | Technology | Purpose |
|---|---|---|
| Backend API | Laravel / PHP | Business logic and API services |
| Frontend | Nuxt | User-facing web interface |
| Dashboard | Laravel / Nuxt | Administrative and operational portals |
| Database | MySQL | Operational data storage |
| Cache / Queue | Redis | Caching and background job processing |
| Web Server | Nginx | Reverse proxy and request routing |
| Containers | Docker | Service isolation and deployment packaging |
Logical Components
- Web Dashboards: Admin, School Manager, Supplier, Operator
- API Gateway / Routing Layer: authentication, routing, rate limiting, and API versioning
- Core Services: identity, RBAC, schools, cafeterias, products, wallets, orders, refunds, reports, support
- Data Layer: relational database, cache, and object storage
- Integration Layer: SMS, payment gateway, email, and external services
Request Flow
- The user accesses the platform through the dashboard or application.
- The request reaches Nginx.
- Nginx routes the request to the appropriate backend or frontend service.
- The backend processes the business logic.
- The backend communicates with MySQL and Redis.
- Heavy tasks are dispatched to queues.
- Workers process queued jobs.
- The response is returned to the user.
Security Notes
- Do not document real passwords.
- Do not document real API keys.
- Do not include production
.envfiles. - Replace sensitive IPs, domains, and credentials with placeholders.