A full-stack food delivery application with a beautiful UI, real-time cart functionality, and comprehensive admin panel. Built with modern technologies for optimal performance and user experience.
- User Authentication - Secure login/registration with JWT
- Food Browsing - Browse menu by categories (Salad, Rolls, Deserts, etc.)
- Real-time Cart - Add/remove items with live cart updates
- Order Management - Place orders and track order history
- Responsive Design - Works seamlessly on desktop and mobile
- Modern UI - Beautiful gradient design with smooth animations
- Admin Dashboard - Complete restaurant management system
- Food Management - Add, edit, and delete food items
- Order Tracking - View and manage customer orders
- Image Upload - Upload food images with preview
- Real-time Updates - Live order notifications
- React 18 - Modern UI library
- Vite - Fast build tool and dev server
- React Router - Client-side routing
- Axios - HTTP client for API calls
- CSS3 - Custom styling with gradients and animations
- Node.js - Runtime environment
- Express.js - Web framework
- MongoDB - NoSQL database
- Mongoose - MongoDB object modeling
- JWT - JSON Web Tokens for authentication
- Bcrypt - Password hashing
- Multer - File upload handling
- React 18 - Admin interface
- Vite - Build tool
- Axios - API communication
- Node.js (v16 or higher)
- MongoDB (local or MongoDB Atlas)
- Git
- Clone the repository
git clone https://github.com/YOUR_USERNAME/feasto-food-delivery.git
cd feasto-food-delivery- Install Frontend Dependencies
cd frontend
npm install- Install Backend Dependencies
cd ../backend
npm install- Install Admin Dependencies
cd ../admin
npm install- Backend Environment Setup
cd backend
# Create .env file
touch .envAdd to .env:
PORT=5000
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_key
SALT=10- Database Setup
- Create MongoDB database named
test - Collections will be created automatically:
users- User accountsfoods- Food itemsorders- Order records
- Start Backend Server
cd backend
npm startServer runs on: http://localhost:5000
- Start Frontend
cd frontend
npm run devFrontend runs on: http://localhost:5173
- Start Admin Panel
cd admin
npm run devAdmin runs on: http://localhost:5174
- Register/Login - Create account or sign in
- Browse Menu - Explore food categories
- Add to Cart - Click "+" to add items
- Place Order - Proceed to checkout
- Track Orders - View order history in profile
- Admin Login - Use admin credentials
- Add Food Items - Upload images and details
- Manage Orders - View and update order status
- Monitor Sales - Track restaurant performance
feasto-food-delivery/
βββ frontend/ # React frontend
β βββ src/
β β βββ components/ # Reusable components
β β βββ pages/ # Page components
β β βββ context/ # React context
β β βββ assets/ # Images and videos
β βββ package.json
βββ backend/ # Node.js backend
β βββ controllers/ # Route controllers
β βββ models/ # Database models
β βββ routes/ # API routes
β βββ middleware/ # Custom middleware
β βββ server.js # Main server file
βββ admin/ # Admin panel
β βββ src/
β β βββ components/ # Admin components
β β βββ pages/ # Admin pages
β βββ package.json
βββ README.md
POST /api/user/login- User loginPOST /api/user/register- User registration
GET /api/food/list- Get all food itemsPOST /api/food/add- Add new food item (Admin)POST /api/food/upload- Upload food image
POST /api/cart/add- Add item to cartPOST /api/cart/remove- Remove item from cartPOST /api/cart/get- Get cart itemsPOST /api/order/place- Place new orderGET /api/order/list- Get user orders
Update CSS variables in frontend/src/index.css:
:root {
--primary-color: #FF6B35;
--secondary-color: #FFB86B;
--accent-color: #tomato;
}- Update
frontend/src/components/ExploreMenu/ExploreMenu.jsx - Add category to food items in database
- Update category filtering logic
cd frontend
npm run build
# Deploy dist/ foldercd backend
# Add build script to package.json
npm start- Use MongoDB Atlas for cloud database
- Update connection string in production
- Fork the repository
- Create feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add AmazingFeature') - Push to branch (
git push origin feature/AmazingFeature) - Open Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Tanay - Full Stack Developer
- GitHub: @yourusername
- Email: tanayy07@gmail.com
- React team for the amazing framework
- MongoDB for the flexible database
- All open-source contributors
β Star this repository if you found it helpful!