How vexonor/vora works
Vora is a restaurant/café operations platform: customers browse a QR-friendly menu, place orders and pay; staff manage fulfillment, while managers administer catalog and operations and review sales analytics. The Next.js client uses the NestJS API; the API owns persistence and coordinates Midtrans, S3 and the FastAPI prediction service. The graph preserves documented capabilities, but many UI and server feature internals were not sampled, so some documented subsystem connections are dashed or omitted rather than inferred.
Main entry points: services API services · app Customer and staff UI · ai-prediction.service.ts Prediction integration · auth Authentication
Components 21
Web application
- Customer and staff UI
client/src/app - API services
client/src/services
Restaurant operations
- Authentication
server/src/features/auth - Menu catalog
server/src/features/menu/menu.service.ts - Order lifecycle
server/src/features/order/order.service.ts - Payments
server/src/features/payment/payment.service.ts - Kitchen fulfillment
client/src/app/(private)/kitchen/order/page.tsx - Inventory
server/src/features/stock - Table management
server/src/features/table - Staff administration
server/src/features/user
Sales intelligence
- Sales reports
server/src/features/selling-report/selling-report.service.ts - Operations dashboard
server/src/features/dashboard/dashboard-chart.ts - Prediction integration
server/src/features/ai-prediction/ai-prediction.service.ts - Trend prediction
ai/predictor.py - Trend records
server/src/features/selling-trend/models/selling-trend.model.ts
Platform services
- MySQL
- Midtrans
- AWS S3
Other components
- Customer
- Restaurant staff
- Manager
Connections 29
- Customer → Customer and staff UI: browses and orders
README.md - Restaurant staff → Customer and staff UI: handles operations
README.md - Manager → Customer and staff UI: manages business
README.md - Customer and staff UI → API services: requests data
- API services → Authentication: calls API
client/src/services/auth.service.ts - API services → Menu catalog: calls API
- API services → Order lifecycle: calls API
client/src/services/order.service.ts - API services → Payments: calls API
- API services → Sales reports: calls API
- API services → Operations dashboard: calls API
- API services → Inventory: calls API
- API services → Table management: calls API
- API services → Staff administration: calls API
- Menu catalog → MySQL: reads and writes
- Order lifecycle → MySQL: reads and writes
- Order lifecycle → Payments: payment coordination
- Payments → Midtrans: processes payment
- Kitchen fulfillment → API services: updates order
- Inventory → MySQL: reads and writes
- Table management → MySQL: reads and writes
- Staff administration → MySQL: reads and writes
- Authentication → MySQL: reads and writes
- Authentication → AWS S3: stores avatars
server/src/features/auth/auth.service.ts - Sales reports → MySQL: reads and writes
- Operations dashboard → MySQL: reads data
- Prediction integration → Sales reports: reads history
server/src/features/ai-prediction/ai-prediction.service.ts - Prediction integration → Trend prediction: requests predictions
README.md - Prediction integration → Trend records: stores predictions
server/src/features/ai-prediction/ai-prediction.service.ts - Trend records → MySQL: persists trends