A full-stack web application designed for bakery businesses to manage customers, orders, inventory, custom cakes, deliveries, and more — supporting role-based dashboards for Admin, Delivery, and Customer.
This system streamlines operations across departments of a bakery business — from product browsing and order management to custom cake requests and delivery tracking. Built with scalability and usability in mind, it provides both frontend and backend role-based access to different user types.
| Layer | Tech Used |
|---|---|
| Frontend | React.js, React Router, CSS Modules |
| Backend | Node.js, Express.js |
| Database | MongoDB (Mongoose) |
| Auth | JWT, Bcrypt |
| Nodemailer (Gmail SMTP) | |
| Styling | CSS Modules, Tailwind CSS (optional) |
| Charts | Recharts |
| File Upload | Multer, Cloudinary |
| Deployment | Vercel (frontend), Render (backend), MongoDB Atlas |
| Role | Access & Features |
|---|---|
| Admin | Full access: users, orders, products, inventory, custom cakes, reviews, analytics |
| Manager | View/manage inventory, product stocks, coordinate with delivery |
| Delivery | View assigned orders, update status, track delivery history |
| Customer | Register, browse products, order, track orders, wishlist, custom cake requests |
- Home, About Us, Contact, FAQ
- Product Listing by Category
- Product Details
- Login / Register / OTP Verification
- Forgot & Reset Password
- Profile & Edit
- Orders (track/cancel)
- Wishlist
- Coupons
- Notifications
- Submit Reviews
- Custom Cake Requests
- Dashboard (Revenue, Orders, Users)
- Manage Products, Orders, Users, Categories
- Inventory (Low Stock Alerts)
- Assign Delivery Staff
- Manage Coupons, Reviews, Notifications
- View Analytics Charts
- Assigned Orders
- Update Delivery Status
- Delivery History
- Customer places an order
- Admin is notified via email
- Admin updates status: Preparing → Packed → Out for Delivery → Delivered
- Delivery person assigned & notified
- Customer receives real-time email + dashboard notifications
| Event | Admin | Customer | Delivery |
|---|---|---|---|
| New Order | ✅ | ❌ | ❌ |
| Assign Delivery | ❌ | ❌ | ✅ |
| Order Status Change | ❌ | ✅ | ❌ |
| Order Delivered | ❌ | ✅ | ❌ |
- 🧁 Product Browsing by Category
- 🛒 Cart & Checkout System
- 📦 Order History with Real-time Status Updates
- 🎂 Custom Cake Order Requests
- 💸 Coupon & Discount System
- 🔔 Real-time Notifications (Email & UI)
- 🧾 PDF Invoice Generation (Optional)
- 📊 Admin Dashboard with Charts & Reports
- 📤 File Uploads with Multer / Cloudinary
- 🔐 OTP-based Email Verification & Password Reset
- 🧺 Inventory Tracking with Low Stock Alerts
- 💬 Optional Chat/Support System
POST /api/auth/registerPOST /api/auth/loginPOST /api/auth/forgot-passwordPOST /api/auth/verify-otpPUT /api/auth/reset-password
GET /api/productsPOST /api/products(admin)PUT /api/products/:idDELETE /api/products/:id
POST /api/ordersGET /api/orders/mePUT /api/orders/:id/statusPUT /api/orders/:id/cancel
POST /api/custom-cakesGET /api/custom-cakes(admin only)
- 📦 Total Orders
- 💸 Total Revenue
- 👤 Total Users
- 🔔 Notifications
- 📈 Revenue Trend (6 Months)
📦 /server ├── config/ ├── controllers/ ├── middleware/ ├── models/ ├── routes/ ├── utils/ ├── uploads/product-images/
📦 /client ├── public/ └── src/ ├── api/ ├── assets/ ├── components/ │ ├── Layout/ │ └── UI/ ├── contexts/ ├── hooks/ ├── pages/ │ ├── Auth/ │ ├── Public/ │ ├── User/ │ ├── Admin/ │ ├── Manager/ │ ├── Delivery/ │ └── CustomCake/ ├── services/ ├── styles/ ├── App.jsx └── main.jsx
yaml Copy Edit
| Layer | Platform |
|---|---|
| Frontend | Vercel / Netlify |
| Backend | Render / Railway |
| Database | MongoDB Atlas |
Trupal Gorasiya – Full-Stack Developer & System Designer
📧 Contact 📩 Email: trupalgorasiya510@gmail.com 🔗 LinkedIn: https://www.linkedin.com/in/trupal-gorasiya/ 🌐 GitHub: https://github.com/trupalgorasiya/
This project is open-source and free to use for educational and personal projects.
Thank you for reviewing the Bakery Management System. Happy coding! ❤️