A comprehensive food ordering application built using the MERN stack. The app allows users to browse various food items, add them to the cart, proceed with checkout, and manage their profiles. It also includes an admin dashboard for managing foods and orders.
- User Authentication: Secure registration and login.
- Food Browsing: Browse and view detailed information about food items.
- Cart Management: Add, update, or remove items in the cart.
- Checkout Process: Complete orders seamlessly.
- Order Tracking: Real-time tracking of order status.
- Profile Management: Update user profiles and view order history.
- Admin Dashboard: Manage foods, orders, and user details.
- Food Recommendations: Personalized food recommendations based on user searches and interests.
- Responsive Design: Fully responsive for both desktop and mobile devices.
Try out the live demo of the app hosted on vercel.com:
- Vite: Modern frontend build tool.
- React: Library for building user interfaces.
- Axios: HTTP client for making requests to the backend.
- Node.js: JavaScript runtime for server-side development.
- Express: Web framework for Node.js.
- MongoDB: NoSQL database.
- Cloudinary: Service for image hosting and management.
- Leaflet: JavaScript library for interactive maps.
- Render: Cloud platform for deploying web apps.
- JWT: Secure token for user authentication.
- Bcrypt: Library for hashing passwords securely.
- Clone the repository:
git clone https://github.com/uditdev1/FoodyDost cd FoodyDost - Run the setup script (first time only)
./setup.sh
- Next time when restarting
docker compose up -d cd client npm run dev
Ensure you have the following installed on your system:
- Node.js (https://nodejs.org/)
- MongoDB (https://www.mongodb.com/)
- A Cloudinary account (https://cloudinary.com/)
- Clone the repository:
git clone https://github.com/uditdev1/FoodyDost cd FoodyDost - Install dependencies for both frontend and backend:
# Navigate to the frontend directory cd client npm install # Navigate to the backend directory cd ../backend npm install
- Set up environment variables:
inside backend/src/ rename .env.example to .env and add all the details
- Start the development servers:
# Start the backend server cd backend node src/server.js # In another terminal, start the frontend development server cd ../client npm run dev
I welcome contributions! If you have suggestions for improvements or new features, feel free to submit a pull request or open an issue.
Fork the repository Create a new branch (git checkout -b feature-branch) Make your changes Commit your changes (git commit -m 'Add some feature') Push to the branch (git push origin feature-branch) Create a new Pull Request
If you have any questions or need further information, feel free to contact me:



