Foodi is a full-stack web application built using the MERN (MongoDB, Express.js, React.js, Node.js) stack. It allows users to browse, search, and discover recipes from various cuisines, as well as contribute their own recipes. The application features user authentication, CRUD operations, and integration with third-party APIs for recipe data. 🍽️
- Order Food: Users can browse the available menu, select items, and place orders for delivery or pickup. 🛒
- User Authentication: Secure user authentication system allows users to sign up, log in, and log out. 🔒
- Add Food to Cart: Users can add items to their shopping cart, review their selections, and proceed to checkout. 🛍️
- Payment Gateway Integration (Stripe): Seamless integration with the Stripe payment gateway for secure and convenient online payments. 💳
- Register User: Admins can register new users, granting them access to the system. 📝
- Manage All Users: Full control over user management, including viewing user details, editing user profiles, and deactivating accounts if necessary. 👤
- Add Food: Admins can add new food items to the menu, including details such as name, description, price, and availability. 🥗
- Change Order Status: Admins have the authority to update the status of orders, such as confirming, preparing, delivering, or completing them. 🚚
- MongoDB: NoSQL database used for storing recipe data. 🍃
- Express.js: Web application framework for building RESTful APIs. 🚀
- React.js: Frontend library for building user interfaces. ⚛️
- Node.js: JavaScript runtime environment for server-side development. 🖥️
- Mongoose: MongoDB object modeling tool for Node.js. 🧩
To run the Foodi-Complete application locally, follow these steps:
- Clone this repository to your local machine.
- Navigate to the project directory in your terminal.
- Install dependencies by running
npm install
in both theclient
andserver
directories. - Start the server by running
npm start
in theserver
directory. - Start the client by running
npm start
in theclient
directory. - Open your web browser and navigate to
http://localhost:3000
to view the application. 🚀
Contributions to Foodi-Complete are welcome! If you'd like to contribute to this project, please follow these steps:
- Fork the repository on GitHub.
- Create a new branch with a descriptive name (
git checkout -b feature/my-new-feature
). - Make your changes and commit them (
git commit -am 'Add some feature'
). - Push your changes to your forked repository (
git push origin feature/my-new-feature
). - Create a new pull request on the original repository. 🎉