How princeg0210/cafe-server works
Jaadoo Udaipur Cafe is a café operations platform spanning public table booking, staff POS, kitchen dispatch, reservations, and capacity-aware production. The principal workflow is a customer or staff member using the web app, with backend API routes handling the request and domain services managing reservations, orders, tables, and kitchen work. The source index documents service dependencies and core data models, but the README is empty and most route implementations were not sampled; frontend-to-API and route-to-service links are therefore shown as unverified where useful.
Main entry points: order_service.py Order service · v1 Versioned routes · reservation_service.py Reservation service · pos_service.py POS sessions and KOT
Components 23
Web experiences
- Table booking
frontend/src/app/book-table/page.tsx - Menu browsing
frontend/src/app/menu/page.tsx - QR table ordering
frontend/src/app/table/[token]/page.tsx - Staff POS
frontend/src/app/pos/page.tsx
API entrypoints
- API application
backend/app/main.py - Versioned routes
backend/app/api/v1 - Live updates
backend/app/api/websocket.py
Café operations
- Reservation service
backend/app/services/reservation_service.py - Production capacity
backend/app/services/capacity_service.py - Table service
backend/app/services/table_service.py - Order service
backend/app/services/order_service.py - POS sessions and KOT
backend/app/services/pos_service.py - Inventory service
backend/app/services/inventory_service.py - Billing service
backend/app/services/billing_service.py - Background tasks
backend/app/workers/celery_app.py
Persistence and runtime
- Reservation records
backend/app/models/reservation.py - Table and sessions
backend/app/models/table.py - Kitchen and print jobs
backend/app/models/kitchen.py - Relational database
backend/app/core/database.py - Runtime configuration
backend/app/core/config.py
Other components
- Customer
- Café staff
- Kitchen printer
Connections 32
- Customer → Table booking: books tables
frontend/src/app/book-table/page.tsx - Customer → Menu browsing: views menu
frontend/src/app/menu/page.tsx - Customer → QR table ordering: orders at table
- Café staff → Staff POS: operates POS
frontend/src/app/pos/page.tsx - Table booking → Versioned routes: submits booking
- QR table ordering → Versioned routes: requests service
- Staff POS → Versioned routes: manages service
- API application → Versioned routes: mounts routes
backend/app/main.py - API application → Live updates: registers socket
backend/app/main.py - Versioned routes → Reservation service: handles reservations
- Versioned routes → Order service: handles orders
- Versioned routes → POS sessions and KOT: handles POS
- Reservation service → Production capacity: checks capacity
backend/app/services/reservation_service.py - Reservation service → Table service: assigns tables
backend/app/services/reservation_service.py - Order service → Table service: uses table service
backend/app/services/order_service.py - Order service → Production capacity: checks capacity
backend/app/services/order_service.py - Order service → Inventory service: uses inventory
backend/app/services/order_service.py - Order service → Kitchen and print jobs: creates kitchen work
backend/app/services/order_service.py - Order service → Live updates: publishes updates
backend/app/services/order_service.py - Order service → Background tasks: dispatches tasks
backend/app/services/order_service.py - POS sessions and KOT → Billing service: uses billing
backend/app/services/pos_service.py - POS sessions and KOT → Live updates: publishes updates
backend/app/services/pos_service.py - POS sessions and KOT → Background tasks: dispatches tasks
backend/app/services/pos_service.py - Background tasks → Kitchen printer: sends print job
backend/app/workers/celery_app.py - Reservation service → Reservation records: reads and writes
backend/app/services/reservation_service.py - Production capacity → Reservation records: reads reservations
backend/app/services/capacity_service.py - Table service → Table and sessions: reads and writes
backend/app/services/table_service.py - Reservation records → Relational database: maps records
backend/app/models/reservation.py - Table and sessions → Relational database: maps records
backend/app/models/table.py - Kitchen and print jobs → Relational database: maps records
backend/app/models/kitchen.py - API application → Runtime configuration: loads settings
backend/app/main.py - Relational database → Runtime configuration: configures connection
backend/app/core/database.py