This is a Food Delivery Application built with the MERN stack (MongoDB, Express, React, Node.js). The app allows users to browse restaurants, view menus, and place orders. There's also an admin panel where restaurant owners or managers can add, update, or remove food items.
The project helped me practice integrating frontend and backend systems while handling user authentication, order management, and responsive UI design.
- Frontend: React.js, HTML, CSS, Bootstrap
- Backend: Node.js, Express.js
- Database: MongoDB
- Authentication: JWT (JSON Web Tokens)
- State Management: React Context API
- Others: Axios, bcrypt, environment variables
├── admin/ # Admin panel files ├── backend/ # Server-side code ├── frontend/ # Client-side code ├── node_modules/ # Installed dependencies ├── package.json # Project configuration and scripts ├── package-lock.json # Dependency versions └── README.md # Project documentation
✅ User registration and login
✅ Browse restaurants and menus
✅ Add items to cart and place orders
✅ Admin panel to manage food items
✅ Responsive design for mobile and desktop
✅ Secure authentication with JWT
Make sure you have the following installed:
- Node.js
- npm or yarn
- MongoDB
- Clone the repository
git clone https://github.com/prashanth316/Food-Deliver-Full-Stack-.git cd Food-Deliver-Full-Stack-
Setup the Backend
cd backend npm install
Create a .env file in the backend folder and add:
MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret
npm start
Setup the Frontend Open a new terminal:
cd frontend npm install npm start
Setup the Admin Panel (Optional) Open another terminal:
cd admin npm install npm start
📂 How to Use
Open the browser and go to http://localhost:3000 to view the user interface.
Register or log in to browse restaurants and place orders.
Access the admin panel at http://localhost:3001 (or whichever port it’s running on) to manage food items.
🧩 What I Learned
How to structure a full-stack application
User authentication using JWT
Connecting React with backend APIs
Handling state in a scalable way
Working with MongoDB in Node.js
🔮 Future Improvements
Add payment integration (Stripe or PayPal)
Improve UI with better animations
Implement order tracking
Add support for reviews and ratings