Laravel monolith → V1 REST API → MySQL. External: Finix, S3, Pusher, FCM. Clients are external apps (company, customer, driver, admin).
flowchart TB C[Clients] --> API[/api/v1] API --> M[Middleware stack] M --> S[Services] S --> DB[(MySQL)] S --> E[Events] E --> L[Listeners] S --> FINIX[Finix] S --> S3[S3] L --> FCM[FCM]
Tip
Diagram generated from actual route and service structure. Explore Orders, Billing, and API docs for deeper dives.
Related components
OrderService & BillingService
OrderService handles lifecycle transitions. BillingService calculates quotes only — persistence happens in OrderService at place/update.
Event-driven side effects
Notifications, wallet operations, and activity logs run through Events + Listeners registered in EventServiceProvider — not inline in controllers.