Welcome to FoodMood, a dynamic and responsive food delivery application developed using Vite and React. The application leverages the Swiggy API to fetch real-time restaurant data, providing a seamless user experience.
- Restaurant Data: Fetches real-time restaurant details using Swiggy API.
- React library: Built with the power of the React library for a modular and maintainable frontend.
- State Management: Utilizes Redux and Redux Toolkit for efficient and scalable state management.
- Routing: Implements React Router DOM for navigation between pages.
- Dark Mode: Supports a dark mode theme toggle, with the state stored in Redux and persisted in local storage.
- Responsive Design: Tailwind CSS is used to ensure the application is fully responsive and visually appealing across devices.
- Error Handling: Includes error routes to gracefully handle application-level errors.
- Local Storage: Stores user preferences, such as theme settings, with fallback to system theme detection.
- Custom Hooks: Implements reusable hooks like
useRestaurantMenu
for data fetching anduseOnlineStatus
to monitor the user's internet connection. - Optimized Performance: Debugged and optimized for issues like infinite re-renders.
Follow these steps to fork and run the project on your local system:
- Node.js: Ensure you have Node.js installed on your system.
- Git: Install Git for cloning the repository.
-
Fork the Repository: Click on the fork button at the top-right corner of this repository.
-
Clone the Repository:
git clone https://github.com/pavansingh888/FoodMood-Web-App.git cd FoodMood-Web-App
-
Install Dependencies:
npm install
-
Start the Development Server:
npm run dev
The app will run on
http://localhost:5173/
by default. -
Build the App for Production:
npm run build
-
Test Production Build Locally:
npm run preview
-
Create a Branch:
git checkout -b feature-name
-
Make Your Changes: Add your feature or fix any issue.
-
Commit Your Changes:
git add . git commit -m "Add a meaningful commit message"
-
Push Your Changes:
git push origin feature-name
-
Open a Pull Request: Go to your forked repository on GitHub and open a pull request.
If you have any questions or suggestions, feel free to connect with me on LinkedIn: