How keshavmehra79/foodrush works
This repository is a food-ordering web app with a React storefront and admin dashboard backed by an Express/Mongoose API. The main customer flow is browse products, select a product for quick order or use the cart, enter delivery details, and initiate payment; the admin flow manages products and views orders and users. Sampled code confirms product retrieval, payment-order creation, and email confirmation, but the email handler does not persist an order. Several frontend and backend modules are represented by their exact tree paths; their internal wiring is omitted where source was not sampled.
Main entry points: App.jsx Route application · adminRouter.js Admin routes · userRouter.js User routes · adminController.js Admin controller
Components 28
Customer storefront
- Route application
client/src/App.jsx - Home page
client/src/pages/Home.jsx - Product browsing
client/src/component/Cards..jsx - Cart
client/src/component/Mycart.jsx - Cart state
client/src/cartSlice.jsx - Checkout
client/src/component/Checkout.jsx - Quick order
client/src/component/Quickorder.jsx - User login
client/src/component/Userlogin.jsx
Admin dashboard
- Admin login
client/src/admin/AdminLogin.jsx - Admin dashboard
client/src/admin/AdminDashboard.jsx - Product management
client/src/admin/Seeproducts.jsx - Add product
client/src/admin/AddProduct.jsx - Order listing
client/src/admin/Orders.jsx - User listing
client/src/admin/Users.jsx
API and controllers
- Express app
server/index.js - Admin routes
server/routes/adminRouter.js - User routes
server/routes/userRouter.js - Admin controller
server/controllers/adminController.js - User controller
server/controllers/userController.js
Persistence and integrations
- Product model
server/models/productModel.js - Order model
server/models/orderModel.js - User model
server/models/userModels.js - Admin model
server/models/adminmodel.js - MongoDB
- Cloudinary
- Razorpay
- Email service
Other components
- Customer
Connections 41
- Customer → Route application: opens
- Route application → Home page: routes to
- Route application → Cart: routes to
- Route application → Checkout: routes to
- Route application → Quick order: routes to
- Route application → User login: routes to
- Route application → Admin login: routes to
- Route application → Admin dashboard: routes to
- Admin dashboard → Product management: routes to
- Admin dashboard → Add product: routes to
- Admin dashboard → Order listing: routes to
- Admin dashboard → User listing: routes to
- Cart → Cart state: uses state
- Home page → User routes: authenticates via
- User login → User routes: submits login
- Product browsing → User routes: requests product
- Quick order → User routes: fetches product
- Quick order → User routes: sends confirmation
- Quick order → Admin routes: creates payment order
- Product management → Admin routes: manages products
- Add product → Admin routes: adds product
- Order listing → Admin routes: requests orders
- User listing → Admin routes: requests users
- Express app → Admin routes: mounts routes
- Express app → User routes: mounts routes
- Admin routes → Admin controller: dispatches
- User routes → User controller: dispatches
- Admin routes → Razorpay: creates payment order
- Admin controller → Admin model: looks up admin
- Admin controller → Product model: reads and changes
- Admin controller → Order model: reads orders
- Admin controller → User model: reads users
- Admin controller → Cloudinary: uploads images
- User controller → Product model: reads product
- User controller → User model: looks up user
- User controller → Email service: sends confirmation
- Express app → MongoDB: connects to
- Product model → MongoDB: persists products
- Order model → MongoDB: models orders
- User model → MongoDB: models users
- Admin model → MongoDB: models admins