Flavor Fusion is a frontend web application built using React.js. It allows users to browse and filter restaurants, view menus, and manage their cart for a seamless food-ordering experience. This project was built while following the Namaste React course, where I implemented React's core concepts, advanced optimizations, state management with Redux Toolkit, and comprehensive testing with Jest.
You can check out the live version of the app here: Flavor Fusion on Vercel
- Restaurant Search: Search for restaurants from the fetched dataset.
- Restaurant Filtering: Filter restaurants based on cuisine, ratings, etc.
- Menu Filtering: Filter restaurant menus by Veg/Non-Veg categories.
- Cart Functionality:
- Add and remove items from the cart.
- Each item can have a maximum quantity of 5.
- Clear cart and see full payment details upon checkout.
- Offline Notifications: Alerts displayed when the internet connection is lost.
- React.js: For building the user interface.
- Redux Toolkit: For state management.
- React Router DOM: For routing between different pages.
- SCSS: For responsive and maintainable styling.
- Parcel: For bundling and optimizing the app.
- Jest: For unit and integration testing.
- Git & GitHub: For version control.
- Vercel: For deployment.
This project uses Jest for testing:
- Unit Testing: Ensures individual components work as expected.
- Integration Testing: Tests interaction between components and state.
Run tests using:
npm run test- Clone the repository:
git clone https://github.com/monukd01dev/Flavor-Fusion.git- Navigate into the project directory:
cd Flavor-Fusion- Install dependencies:
npm install- Run the development server:
npm startMake sure to have the CORS bypass extension installed and enabled on your browser to load restaurant data.
- React
- Redux Toolkit
- React Router DOM
- SCSS
- Jest
- Parcel
- Git & GitHub
- Vercel
This app is deployed using Vercel. You can easily deploy your own version by connecting the GitHub repository to a Vercel account and following their deployment guide.
This project is licensed under the MIT License - see the LICENSE file for details.