How greeshmita-23/foodiehub-v2 works
FoodieHub is a full-stack food-ordering and restaurant-management application. Customers browse and search restaurants, manage favorites and a cart, check out with delivery details and coupons, then view orders; admins manage restaurants and order status. The React app routes users to these experiences and calls an Express API backed by MongoDB. The graph preserves the documented authentication, reviews, coupons and dashboard capabilities. Some feature pages and backend modules were not excerpted, so their internal call relationships are omitted where the evidence does not establish them.
Main entry points: App.jsx App routes · server.js API server · api.js API client · Checkout.jsx Cart and checkout
Components 30
React application
- App routes
frontend/src/App.jsx - API client
frontend/src/api/api.js
Customer experience
- Restaurant discovery
frontend/src/pages/Home.jsx - Restaurant pages
frontend/src/pages/RestaurantDetails.jsx - Restaurant management
frontend/src/pages/Admin.jsx - Cart state
frontend/src/context/CartContext.jsx - Cart and checkout
frontend/src/pages/Checkout.jsx - Favorites
frontend/src/context/FavoritesContext.jsx - Order history
frontend/src/pages/MyOrders.jsx - Sign in and signup
frontend/src/pages/Login.jsx
Express API
- API server
backend/server.js - Authentication routes
backend/routes/authRoutes.js - Restaurant routes
backend/routes/restaurantRoutes.js - Order routes
backend/routes/orderRoutes.js - Coupon routes
backend/routes/couponRoutes.js - Review routes
backend/routes/reviewRoutes.js
Domain services and data
- Restaurant service
backend/controllers/restaurantController.js - Restaurant records
backend/models/Restaurant.js - Order service
backend/controllers/orderController.js - Order records
backend/models/Order.js - Coupon validation
backend/controllers/couponController.js - Coupon records
backend/models/Coupon.js - Reviews
backend/controllers/reviewController.js - Review records
backend/models/Review.js - Admin dashboard
backend/controllers/dashboardController.js
Identity and access
- Authentication
backend/controllers/authController.js - JWT authorization
backend/middleware/authMiddleware.js - User records
backend/models/User.js
Other components
- Customer
- Administrator
Connections 32
- Customer → App routes: uses
README.md - Administrator → App routes: uses
README.md - App routes → Restaurant discovery: routes to
frontend/src/App.jsx - App routes → Restaurant pages: routes to
frontend/src/App.jsx - App routes → Restaurant management: routes to
frontend/src/App.jsx - App routes → Cart and checkout: routes to
frontend/src/App.jsx - App routes → Order history: routes to
frontend/src/App.jsx - Restaurant discovery → API client: requests data
frontend/src/pages/Home.jsx - Cart and checkout → Cart state: reads and updates
frontend/src/pages/Checkout.jsx - Cart and checkout → API client: submits order
frontend/src/pages/Checkout.jsx - Restaurant management → API client: manages restaurants
frontend/src/pages/Admin.jsx - Favorites → Restaurant pages: supports browsing
- Order history → API client: requests orders
- Sign in and signup → API client: authenticates
- API client → API server: sends API requests
README.md - API server → Authentication routes: mounts
backend/server.js - API server → Restaurant routes: mounts
backend/server.js - API server → Order routes: mounts
backend/server.js - API server → Review routes: mounts
backend/server.js - API server → Coupon routes: mounts
backend/server.js - Authentication routes → Authentication: dispatches
backend/routes/authRoutes.js - Authentication → User records: reads and writes
backend/controllers/authController.js - Order routes → JWT authorization: checks token
backend/routes/orderRoutes.js - Review routes → JWT authorization: checks token
backend/routes/reviewRoutes.js - Restaurant routes → Restaurant service: dispatches
backend/routes/restaurantRoutes.js - Restaurant service → Restaurant records: reads and updates
backend/controllers/restaurantController.js - Order routes → Order service: dispatches
backend/routes/orderRoutes.js - Order service → Order records: manages orders
backend/controllers/orderController.js - Coupon routes → Coupon validation: dispatches
backend/routes/couponRoutes.js - Coupon validation → Coupon records: validates against
backend/controllers/couponController.js - Review routes → Reviews: dispatches
backend/routes/reviewRoutes.js - Reviews → Review records: reads and writes
backend/controllers/reviewController.js