How gundavenkatasai/pizza_craft works
PizzaCraft is a multi-portal pizza ordering and operations platform: customers browse a menu, manage a cart, check out, and track orders; restaurant staff and administrators manage orders and catalog operations, while super-admins oversee global operations. An Express/MongoDB backend provides authentication, ordering, payments, and management APIs, with documented real-time updates and email. The map combines sampled routing and service relationships with README-documented capabilities; unsampled page internals are not inferred.
Main entry points: index.js API Server · src/App.tsx Customer App · src/App.tsx Admin Portal · orders.js Order API
Components 26
Customer Ordering
- Customer App
project/src/App.tsx - Menu Browse
project/src/pages/Menu.tsx - Cart State
project/src/contexts/CartContext.tsx - Checkout
project/src/pages/Checkout.tsx - Order Tracking
project/src/pages/Orders.tsx - Customer Auth
project/src/contexts/AuthContext.tsx
Platform Backend
- API Server
project/server/index.js - Authentication API
project/server/routes/auth.js - Menu API
project/server/routes/menu.js - Order API
project/server/routes/orders.js - Payment API
project/server/routes/payment.js - Order Pricing
project/server/services/orderService.js - Access Control
project/server/middleware/auth.js - Email Notifications
project/server/services/emailService.js - Live Order Events
project/server/services/socketService.js - MongoDB
project/server/config/database.js
Restaurant Admin
- Admin Portal
admin-dashboard/src/App.tsx - Admin Auth
admin-dashboard/src/contexts/AuthContext.tsx - Order Management
admin-dashboard/src/pages/Orders.tsx - Catalog & Inventory
admin-dashboard/src/pages/Inventory.tsx
Super Admin
- Super Admin Portal
super-admin-dashboard/src/App.tsx - Global Operations
super-admin-dashboard/src/pages/GlobalOrders.tsx
Other components
- Customer
- Restaurant Staff
- Razorpay
- Email Provider
Connections 29
- Customer → Customer App: uses
- Customer App → Menu Browse: routes to
project/src/App.tsx - Customer App → Cart State: provides state
project/src/App.tsx - Customer App → Checkout: routes to
project/src/App.tsx - Customer App → Order Tracking: routes to
project/src/App.tsx - Customer App → Customer Auth: provides auth
project/src/App.tsx - Customer App → API Server: requests API
- Checkout → Payment API: starts payment
- Payment API → Razorpay: integrates payment
- API Server → Authentication API: mounts routes
project/server/index.js - API Server → Menu API: mounts routes
project/server/index.js - API Server → Order API: mounts routes
project/server/index.js - API Server → Payment API: mounts routes
project/server/index.js - API Server → MongoDB: connects database
project/server/index.js - Authentication API → Access Control: checks access
project/server/routes/auth.js - Order API → Order Pricing: recalculates totals
project/server/routes/orders.js - Payment API → Order Pricing: recalculates totals
project/server/routes/payment.js - Order API → Email Notifications: sends notifications
project/server/routes/orders.js - Order API → Live Order Events: publishes events
project/server/routes/orders.js - Email Notifications → Email Provider: sends email
- Restaurant Staff → Admin Portal: uses
- Admin Portal → Admin Auth: provides auth
admin-dashboard/src/App.tsx - Admin Portal → Order Management: routes to
admin-dashboard/src/App.tsx - Admin Portal → Catalog & Inventory: routes to
admin-dashboard/src/App.tsx - Admin Portal → API Server: uses API
- Order Management → Live Order Events: syncs live orders
- Restaurant Staff → Super Admin Portal: uses
- Super Admin Portal → Global Operations: routes to
super-admin-dashboard/src/App.tsx - Super Admin Portal → API Server: uses API