🌱 Urban Harvest: Revolutionizing Food Delivery with Sustainability and Freshness 🌱
FoodMania is a full-stack web application that enables users to browse through a variety of dishes, place orders, track their order in real time and get food delivered to their doorstep efficiently. The application leverages the power of the MERN stack (MongoDB, Express.js, React.js, Node.js) to ensure a seamless user experience and robust performance.
Frontend:
Database:
Deployed On:
- User Authentication: Secure login and registration system.
- Browse: Easily browse their favourite dishes.
- Order Placement: Simple and intuitive process for placing orders.
- Order Tracking: Real-time tracking of orders from preparation to delivery.
- Admin Dashboard: Admin interface for managing food and orders.
- Responsive Design: Fully responsive design for seamless use on any device.
-
Clone the repository:
git clone https://github.com/vanshdhawan60/FoodMania cd UrbanHarvest
-
Install dependencies in admin, backend and frontend:
cd admin npm install cd backend npm install cd frontend npm install
-
Set up environment
.env
variables:# for mongo database MONGODB_URI= your mongo url # for password secret JWT_SECRET = your jwt secret
-
Run the application: In the
admin
directory, start the React app:npm run dev
In the
backend
directory, start the server:npm run server
In the
frontend
directory, start the React app:npm run dev
Here are listed all available API endpoints along with a brief description of each.
-
POST /api/user/register
: creating new user -
POST /api/user/login
: user logged in -
POST /api/cart/add
: add foods from user's cart -
POST /api/cart/remove
: remove foods from user's cart -
POST /api/cart/get
: fetch foods from user's cart -
POST /api/food/add
: add food's image and its detail from admin pannel -
GET /api/food/list
: get list of all foods in admin pannel -
POST /api/food/remove
: remove foods from list from admin pannel -
POST /api/order/place
: place an order -
POST /api/order/verify
: verifying the order payment (success/failed) -
POST /api/order/userorders
: all orders of particular user -
GET /api/order/list
: get orders of all users in admin pannel -
POST /api/order/status
: update status of all orders
If you want to contact me, you can reach me through below handles.
Feel free to contribute to the project by opening issues or creating pull requests. Your feedback and suggestions are highly appreciated.