This full-stack food ordering web application leverages the MERN stack (MongoDB, Express, React, Node.js) to provide a seamless online food ordering experience. The project is divided into three main components:
- 🍔 Frontend: Customer-facing interface for browsing menus and placing orders
- 👨💼 Admin Panel: Dashboard for managing items, tracking orders, and system administration
- ⚙️ Backend: RESTful API server handling business logic and database operations
Frontend/
├── src/
│ ├── components/ # Reusable UI components
│ ├── pages/ # Main application pages
│ ├── context/ # React Context for state management
│ └── assets/ # Static assets and images
admin/
├── src/
│ ├── components/ # Reusable admin components
│ ├── pages/ # Admin dashboard pages
│ └── assets/ # Admin panel assets
backend/
├── controllers/ # Request handlers and business logic
├── models/ # MongoDB schema definitions
├── routes/ # API endpoint definitions
├── middleware/ # Authentication and other middleware
├── services/ # Business logic services
├── config/ # Configuration files
├── uploads/ # File upload storage
└── scripts/ # Utility scripts
- 🔐 User Authentication & Authorization: Secure login and registration with user roles
- ⏰ Scheduled Order Time: Schedule orders for specific times
- 💰 Referral System: Earn credits by referring friends
- 💱 Multiple Currency Support: View and pay in different currencies
- 💳 Split Payment: Share payment with multiple users
- 👥 Group Ordering: Place and share orders collectively
- 🎉 Catering Orders: Place bulk orders for events
- 💳 Secure Payments: Integrated with Stripe
- 📱 Real-time Tracking: Track order status in real-time
- 📊 Admin Dashboard: Comprehensive management system
| Category | Technologies |
|---|---|
| Frontend | React.js, React Context API, React Router, Vite |
| Admin Panel | React.js, React Context API, React Router, Vite |
| Backend | Node.js, Express.js, MongoDB |
| Payment | Stripe |
| Development | ESLint, Git |
- Node.js (v14 or higher)
- MongoDB
- npm or yarn
-
Clone the repository
git clone https://github.com/yourusername/food-ordering-app.git cd food-ordering-app -
Install dependencies for each component
# Install Frontend dependencies cd Frontend npm install # Install Admin Panel dependencies cd ../admin npm install # Install Backend dependencies cd ../backend npm install
-
Configure environment variables Create
.envfiles in each component directory with necessary variables:# Example .env file MONGODB_URI=your_mongodb_uri JWT_SECRET=your_jwt_secret STRIPE_SECRET_KEY=your_stripe_key -
Start the development servers
# Start Frontend cd Frontend npm run dev # Start Admin Panel cd ../admin npm run dev # Start Backend cd ../backend npm start
Built with ❤️ by Aarin Guleria
