A scalable full-stack food delivery platform that connects customers with restaurants through a modern web application. The platform enables secure authentication, menu management, online ordering, real-time order tracking, and role-based dashboards.
EngineerFoodies is a cloud-enabled food delivery application developed using the MERN stack. It provides customers with a seamless ordering experience while allowing restaurants to efficiently manage menus and customer orders through dedicated dashboards.
The application follows RESTful API architecture and integrates MongoDB Atlas for cloud-based data storage, ensuring scalability and reliability.
| π Authentication | π½ User Features | π¨βπΌ Admin Features |
|---|---|---|
| β User Registration & Login | β Browse Food Menu | β Admin Dashboard |
| β JWT Authentication | β Search & Filter Food | β Category Management |
| β Role-Based Access Control | β View Food Details | β Food Item Management |
| β Protected Routes | β Add to Cart | β User Management |
| β Update Cart Quantity | β Order Management | |
| β Remove Cart Items | β View All Orders | |
| β Place Orders | β Update Order Status | |
| β Address Management | ||
| β Order History |
| π Database Features | βοΈ Cloud Features |
|---|---|
| β MongoDB Atlas | β AWS EC2 Deployment |
| β Users Collection | β Amazon S3 Storage |
| β Categories Collection | β REST API Communication |
| β Food Items Collection | |
| β Cart Collection | |
| β Orders Collection | |
| β Address Collection |
| Category | Technologies |
|---|---|
| Frontend | |
| Backend | |
| Database | |
| Authentication | |
| Cloud | |
| Development Tools | |
| Version Control |
EngineerFoodies/
βββ fdp-frontend-react/
β βββ src/
β βββ public/
β βββ package.json
β
βββ fdp-backend-node/
β βββ controllers/
β βββ middleware/
β βββ models/
β βββ routes/
β βββ config/
β βββ uploads/
β βββ server.js
β βββ package.json
β
βββ Images/
βββ README.md
βββ .env
git clone https://github.com/jyoti1900/Food-Delivery-Website.git
cd Food-Delivery-Websitecd fdp-backend-node
npm installcd ../fdp-frontend-react
npm installCreate a .env file inside the backend directory.
PORT=3000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_secret_key
AWS_ACCESS_KEY_ID=your_access_key
AWS_SECRET_ACCESS_KEY=your_secret_key
AWS_REGION=your_region
AWS_BUCKET_NAME=your_bucket_namecd fdp-backend-node
npm startcd fdp-frontend-react
npm startApplication runs at:
http://localhost:3000
| Module | Description |
|---|---|
| Authentication | User registration, login, and JWT authentication |
| Users | User profile and account management |
| Restaurants | Restaurant management and information |
| Categories | Food category management |
| Food Items | Food item creation, updates, and retrieval |
| Cart | Shopping cart operations |
| Orders | Order placement and order tracking |
| Address | User address management |
| Dashboard | Administrative dashboard and analytics |
| Security Feature | Description |
|---|---|
| JWT Authentication | Secure user authentication using JSON Web Tokens |
| Password Hashing | Encrypts user passwords before storing them |
| Protected Routes | Restricts access to authorized users only |
| Environment Variables | Protects sensitive application credentials |
| Input Validation | Validates incoming request data |
| REST API Security | Secures API endpoints against unauthorized access |
| MongoDB Injection Protection | Prevents NoSQL injection attacks |
| Optimization | Description |
|---|---|
| Modular MVC Architecture | Improves code organization and maintainability |
| RESTful API Design | Enables efficient and standardized API communication |
| MongoDB Indexing | Speeds up database query execution |
| Optimized Database Queries | Reduces response time and improves performance |
| Efficient State Management | Optimizes frontend data handling |
| Cloud Database Integration | Provides scalable and reliable data storage |
| Scalable Backend Structure | Supports high traffic and future growth |
| Feature | Description |
|---|---|
| Online Payments (Stripe/Razorpay) | Enable secure online payment processing |
| Live Order Tracking | Track orders in real time from preparation to delivery |
| Google Maps Integration | Provide accurate location and delivery tracking |
| Push Notifications | Notify users about order updates and offers |
| AI Food Recommendation | Suggest personalized food items based on user preferences |
| Restaurant Reviews & Ratings | Allow customers to rate and review restaurants |
| Coupon & Discount System | Support promotional offers and discount coupons |
| Progressive Web App (PWA) | Deliver an app-like experience on web browsers |
| Docker Deployment | Simplify application deployment using containers |
| CI/CD Pipeline | Automate build, testing, and deployment processes |
This project was developed as a college minor project through collaborative teamwork. Team members contributed to project planning, backend development, frontend implementation, testing, debugging, documentation, and version control using GitHub.
Contributions are welcome!
- Fork the repository
- Create a new feature branch
git checkout -b feature/new-feature- Commit your changes
git commit -m "Add new feature"- Push to your branch
git push origin feature/new-feature- Open a Pull Request
This project is licensed under the MIT License.
| Team Member | Contribution |
|---|---|
| Tonusree Mondal | UI/UX Design |
| Jyotipriya Das | Project Lead & Backend Development |
| Debarshi Paul | Frontend Development (All Sections), Testing & Debugging |
β If you found this project helpful, consider giving it a Star on GitHub!












