How as178/mini-munch works
Mini Munch is a browser-based restaurant ordering system with an Express/Mongoose backend. Customers occupy a table, create and edit a draft order, then submit it; staff manage menu items and progress or discard orders. The graph separates the UI, HTTP routing, service logic, and persisted domain state. The README documents the customer and staff workflows; sampled source confirms the server wiring and several service calls. Some frontend and backend implementation details were not sampled, so uncertain internal links are omitted.
Main entry points: server.ts Express server · router.tsx Page router · orderService.ts Order service · api.ts API client
Components 24
Frontend
- Browser app
mini-munch-frontend/src/main.tsx - Page router
mini-munch-frontend/src/router.tsx - Table input
mini-munch-frontend/src/pages/TableInput.tsx - Customer dashboard
mini-munch-frontend/src/pages/CustomerDashboard.tsx - Staff dashboard
mini-munch-frontend/src/pages/StaffDashboard.tsx - API client
mini-munch-frontend/src/services/api.ts - Generated endpoints
mini-munch-frontend/src/services/generated
HTTP API
- Express server
mini-munch-backend/server.ts - Table routes
mini-munch-backend/routes/tableRoutes.ts - Menu routes
mini-munch-backend/routes/menuItemRoutes.ts - Order routes
mini-munch-backend/routes/orderRoutes.ts - Table controller
mini-munch-backend/controllers/tableController.ts - Menu controller
mini-munch-backend/controllers/menuItemController.ts - Order controller
mini-munch-backend/controllers/orderController.ts - Error middleware
mini-munch-backend/middleware/errorMiddleware.ts
Domain Services
- Table service
mini-munch-backend/services/tableService.ts - Menu service
mini-munch-backend/services/menuItemService.ts - Order service
mini-munch-backend/services/orderService.ts
Persistence
- Table model
mini-munch-backend/models/Table.ts - Menu model
mini-munch-backend/models/MenuItem.ts - Order model
mini-munch-backend/models/Order.ts
Other components
- Customer
- Staff
- MongoDB
Connections 31
- Customer → Browser app: uses
- Staff → Browser app: uses
- Browser app → Page router: renders
- Page router → Table input: routes to
- Page router → Customer dashboard: routes to
- Page router → Staff dashboard: routes to
- Table input → API client: requests
- Customer dashboard → API client: requests
- Staff dashboard → API client: requests
- API client → Generated endpoints: uses
- Generated endpoints → Express server: HTTP requests
- Express server → Table routes: mounts
- Express server → Menu routes: mounts
- Express server → Order routes: mounts
- Table routes → Table controller: dispatches
- Menu routes → Menu controller: dispatches
- Order routes → Order controller: dispatches
- Table controller → Table service: calls
- Menu controller → Menu service: calls
- Order controller → Order service: calls
- Table controller → Error middleware: forwards errors
- Menu controller → Error middleware: forwards errors
- Order controller → Error middleware: forwards errors
- Table service → Table model: queries
- Order service → Order model: queries and updates
- Order service → Table service: checks table
- Order service → Menu service: looks up item
- Express server → MongoDB: connects
- Table model → MongoDB: persists
- Menu model → MongoDB: persists
- Order model → MongoDB: persists