A complete food delivery website built with React.js frontend, Node.js backend, and MongoDB database. This project includes a customer-facing website, admin panel, and a robust backend API.
- Customer Frontend: Browse food items, add to cart, place orders, and track order status
- Admin Panel: Manage food items, view orders, and handle restaurant operations
- Backend API: RESTful API with authentication, cart management, and order processing
- Payment Integration: Test payment system with card processing
- Responsive Design: Mobile-friendly interface for all devices
- React.js
- Vite
- CSS3
- Context API for state management
- Node.js
- Express.js
- MongoDB
- JWT Authentication
- Multer for file uploads
- React.js
- Vite
- CSS3
TOMATO - Food Delivery Website/
├── frontend/ # Customer-facing React app
├── backend/ # Node.js API server
├── Admin/ # Admin panel React app
└── README.md
- Node.js (v14 or higher)
- MongoDB
- Git
-
Clone the repository
git clone <your-repository-url> cd "TOMATO - Food Delivery Website"
-
Install dependencies for all parts
Frontend:
cd frontend npm installBackend:
cd ../backend npm installAdmin Panel:
cd ../Admin npm install -
Set up MongoDB
- Make sure MongoDB is running on your system
- Update database connection in
backend/config/db.jsif needed
-
Start the Backend Server
cd backend npm run serverThe backend will run on
http://localhost:4000 -
Start the Frontend (Customer App)
cd frontend npm run devThe frontend will run on
http://localhost:5173 -
Start the Admin Panel
cd Admin npm run devThe admin panel will run on
http://localhost:5174
For testing payment functionality:
- Card Number: 4111 1111 1111 1111
- Expiry Date: 12/25 or any future date
- CVV: 123
- Cardholder Name: Test User
- OTP: Any number
-
Customer Experience:
- Browse food items on the homepage
- Add items to cart
- Login/Register to place orders
- Track order status in "My Orders"
-
Admin Experience:
- Login to admin panel
- Add new food items with images
- View and manage orders
- Update order status
The backend provides RESTful APIs for:
- User authentication and registration
- Food item management
- Cart operations
- Order processing and tracking
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Created with ❤️ for food delivery enthusiasts.
Note: This is a demo project for educational purposes. For production use, ensure proper security measures, environment variables, and database configurations.