How computer-com/forkifyy works
ForkiFy is a role-based restaurant platform: customers discover restaurants and make reservations, managers administer restaurant operations, and owners manage restaurants and review reports. The React app routes users into those experiences; the Express server mounts API routes, which access MongoDB models. The README also describes menu ordering with a cart and checkout, but the supplied tree has no dedicated order or checkout backend, so that capability is represented only at the customer-facing restaurant page. Several frontend-to-API connections are not evidenced by sampled source and are omitted.
Main entry points: server.js Express API · App.jsx App routing · reservationRoutes.js Reservation API · User.js User records
Components 32
Web application
- App routing
client/src/App.jsx - Customer discovery
client/src/components/User/UserHome.jsx - Restaurant page
client/src/components/User/Restaurant/RestaurantHomePage.jsx - Manager sign-in
client/src/components/Authentication/ManagerSignIn.jsx - Manager console
client/src/components/Admin/AdminHome.jsx - Inventory management
client/src/components/Admin/InventoryManagement.jsx - Reservation management
client/src/components/Admin/ReservationAdmin.jsx - Owner dashboard
client/src/components/Owner/OwnerHome.jsx - Add restaurant
client/src/components/Owner/AddRestaurant.jsx - Owner reports
client/src/components/Owner/OwnerReports.jsx
Identity and access
- Authentication API
server/routes/authRoutes.js - JWT authorization
server/middleware/auth.js - User records
server/models/User.js
Customer services
- Restaurant API
server/routes/restaurantRoutes.js - Reservation API
server/routes/reservationRoutes.js - Menu API
server/routes/menuRoutes.js - Restaurant records
server/models/Restaurant.js - Reservation records
server/models/Reservation.js - Menu records
server/models/MenuItem.js
Restaurant operations
- Express API
server/server.js - Staff API
server/routes/staffRoutes.js - Inventory API
server/routes/inventoryRoutes.js - Statistics API
server/routes/statisticsRoutes.js - Sales API
server/routes/salesRoutes.js - Ledger API
server/routes/ledgerRoutes.js - Settings API
server/routes/settingsRoutes.js - Inventory records
server/models/Inventory.js
Other components
- Customer
- Manager / admin
- Restaurant owner
- MongoDB
- Email service
Connections 32
- Customer → App routing: opens
- Manager / admin → App routing: opens
- Restaurant owner → App routing: opens
- App routing → Customer discovery: routes to
- App routing → Manager sign-in: routes to
- App routing → Manager console: routes to
- App routing → Owner dashboard: routes to
- App routing → Add restaurant: routes to
- App routing → Owner reports: routes to
- Customer discovery → Restaurant page: opens
- Manager sign-in → Authentication API: posts credentials
- Express API → Authentication API: mounts
- Express API → Restaurant API: mounts
- Express API → Reservation API: mounts
- Express API → Staff API: mounts
- Express API → Inventory API: mounts
- Express API → Statistics API: mounts
- Express API → Sales API: mounts
- Express API → Ledger API: mounts
- Express API → Menu API: mounts
- Express API → Settings API: mounts
- Authentication API → User records: reads / writes
- JWT authorization → User records: loads user
- Restaurant API → Restaurant records: reads / writes
- Restaurant API → User records: reads / writes
- Reservation API → Restaurant records: reads
- Reservation API → Reservation records: reads / writes
- Reservation API → Email service: sends confirmation
- Menu API → Menu records: reads / writes
- Inventory API → Inventory records: reads / writes
- Settings API → User records: reads / writes
- Express API → MongoDB: connects