graph TD
A[API Gateway] --> B[Public Routes]
A --> C[Auth Routes]
A --> D[Customer Routes]
A --> E[Admin Routes]
B --> F[Menu Items]
B --> G[Categories]
B --> H[Restaurant Info]
C --> I[Login/Register]
C --> J[Token Refresh]
D --> K[Orders]
D --> L[Reservations]
D --> M[Profile]
D --> N[Reviews]
E --> O[Menu Management]
E --> P[Order Processing]
E --> Q[Analytics]
E --> R[Settings]
sequenceDiagram
participant C as Client
participant A as API
participant K as Clerk
C->>A: Request with JWT
A->>K: Verify Token
K-->>A: User Info
A-->>C: Authorized Response
GET /menu- Get menu itemsGET /categories- Get categoriesGET /restaurant/info- Restaurant details
POST /orders- Place orderGET /orders- Order historyPOST /reservations- Book tableGET /reservations- View bookings
POST /admin/menu-items- Add menu itemPUT /admin/orders/{id}/status- Update order statusGET /admin/analytics- Sales dataPUT /admin/settings- Update settings
stateDiagram-v2
[*] --> PENDING
PENDING --> CONFIRMED
CONFIRMED --> PREPARING
PREPARING --> READY
READY --> DELIVERED
READY --> PICKED_UP
PENDING --> CANCELLED
CONFIRMED --> CANCELLED
DELIVERED --> [*]
PICKED_UP --> [*]
CANCELLED --> [*]
{
"success": true,
"data": {},
"message": "Operation completed",
"timestamp": "2024-01-01T00:00:00Z"
}