Skip to content

Latest commit

Β 

History

29 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ” EngineerFoodies

Full-Stack Food Delivery Platform

Node.js Express.js MongoDB React AWS License

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.


πŸš€ Overview

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.


✨ Features

πŸ” 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

πŸ›  Tech Stack

Category Technologies
Frontend React HTML5 CSS3 JavaScript
Backend Node.js Express.js
Database MongoDB Atlas Mongoose
Authentication JWT
Cloud AWS EC2 AWS S3
Development Tools VS Code Postman
Version Control Git GitHub

πŸ— System Architecture

EngineerFoodies System Architecture


πŸ“ Project Structure

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

βš™ Installation

Clone Repository

git clone https://github.com/jyoti1900/Food-Delivery-Website.git

cd Food-Delivery-Website

Install Backend

cd fdp-backend-node

npm install

Install Frontend

cd ../fdp-frontend-react

npm install

πŸ”‘ Environment Variables

Create 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_name

β–Ά Running Locally

Backend

cd fdp-backend-node

npm start

Frontend

cd fdp-frontend-react

npm start

Application runs at:

http://localhost:3000

πŸ“¦ API Modules

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

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

⚑ Performance Optimizations

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

πŸ“Έ Screenshots

πŸ‘€ User Module

Home Page

Home


Login

Login


Signup

Signup


Add to Cart

Cart


Address Details

Address


Order Dashboard

Dashboard


My Orders

Orders


πŸ‘¨β€πŸ’Ό Admin Module

Dashboard

Dashboard


Category Add

Category Add


Category List

Category List


Item Add

Item Add


Item List

Item List


πŸš€ Future Improvements

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

🀝 Contributing

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!

  1. Fork the repository
  2. Create a new feature branch
git checkout -b feature/new-feature
  1. Commit your changes
git commit -m "Add new feature"
  1. Push to your branch
git push origin feature/new-feature
  1. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License.


πŸ‘¨β€πŸ’» Developed By

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!

About

A full-stack Food Delivery Website built with React.js, Node.js, Express.js, MongoDB, and AWS, featuring secure authentication, menu management, cart, order tracking, role-based dashboards, and RESTful APIs.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages