Architecture

System Overview

High-level component map.

1 min read v1 API

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.