https://github.com/nishathub/restaurant-project
A full-stack MERN restaurant web app with user authentication, Stripe payments, role-based admin panel, secure CRUD operations, analytics dashboard with Recharts, and custom-built UI components like alerts, modals, and loaders.
https://github.com/nishathub/restaurant-project
axios custom-hooks express-js full-stack-web-development jwt-authentication mern-stack mongodb node-js react responsive-design role-based-access-control secure-api
Last synced: about 2 months ago
JSON representation
A full-stack MERN restaurant web app with user authentication, Stripe payments, role-based admin panel, secure CRUD operations, analytics dashboard with Recharts, and custom-built UI components like alerts, modals, and loaders.
- Host: GitHub
- URL: https://github.com/nishathub/restaurant-project
- Owner: nishathub
- Created: 2024-08-16T13:54:28.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-07-23T09:46:16.000Z (10 months ago)
- Last Synced: 2025-07-23T11:37:30.597Z (10 months ago)
- Topics: axios, custom-hooks, express-js, full-stack-web-development, jwt-authentication, mern-stack, mongodb, node-js, react, responsive-design, role-based-access-control, secure-api
- Language: JavaScript
- Homepage: https://savouryum.web.app
- Size: 13.3 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MERN Stack Restaurant Management App
A full-featured restaurant web application built with the MERN stack. This app allows customers to browse the menu, register/login, add items to their cart, and make secure payments using Stripe. Admins have access to a dashboard with analytics, user management, and full control over the menu system.
---
## Features
### Authentication & Authorization
- JWT-based user authentication
- Role-based access control (Admin/User)
- Admin routes are protected on both frontend and backend
### Customer Features
- Account creation & login
- Browse restaurant menu
- Add/remove items to cart
- Stripe payment integration
### Admin Panel
- View dashboard analytics using Recharts
- Add, edit, delete menu items
- Manage users: promote/demote roles, delete users/admins
### Dashboard & Analytics
- Dynamic charts with `recharts`
- Stats on users, menu etc.
### Tech Stack
| Frontend | Backend | Database | Other Tools |
|----------------|-------------------|----------|----------------------|
| React.js | Node.js + Express | MongoDB | Stripe |
| Tailwind CSS | JWT Auth | | Recharts, Axios |
| Custom Components | MongoDB Aggregation | | Custom Hooks & Alerts |
---
## Custom Components
- **Custom Alert System** – Dynamic pop-up alerts for feedback
- **Loading Spinner** – Indicates ongoing async operations
- **Custom Delete Modal** – Confirm before deletion actions
- **Axios Instance Hook** – Handles secure API requests with JWT
- Admin routes secured by frontend middleware
---
## Backend Highlights
- RESTful APIs with Express.js
- Advanced MongoDB operations:
- `$lookup`, `$unwind`, `$group`, `$aggregate`
- Role-based route protection
- ImageBB API integration for image handling
---
## Roadmap
- [ ] Email notifications for order confirmations
- [ ] Multi-image upload for menu items
- [ ] Enhanced order tracking system
- [ ] Admin activity logs
- [ ] Pagination and search functionality for admin tables
- [ ] User profile page with order history
---
## Author
**Ashraf Ali**
MERN Stack Developer
- [Portfolio](https://ashraf-portfolio-wd.web.app)
- [Resume](https://docs.google.com/document/d/1Z7rp08uI8xHl0tulbbvn0-K1c9otI0mfOo34c2c8djM/edit?usp=sharing)
- [LinkedIn Profile](https://www.linkedin.com/in/ashrafalibutex42)
- [Github Profile](https://github.com/nishathub)
- [Email](mailto:ashraf.ali.butex42@gmail.com)