The Food Ordering Web App is an interactive application that allows users to search and select their favorite foods or restaurants. It displays all available cuisines, dishes, and foods served by a selected restaurant, enabling customers to manage their orders effectively. This app also features a cart section where users can add and remove food quantities. User login functionality is under development to offer a more personalized experience.
- Search Functionality: Enables users to search for their preferred restaurants and foods.
- Cuisine and Dish Display: Showcases all cuisines and dishes available from a selected restaurant.
- Cart Management: Allows users to add or remove items in their cart and see updates in real-time.
- User Login: (In Development) To provide users with a personalized ordering experience.
- Front-end: React, React-DOM, React-Redux, React Router DOM, TailwindCSS, Formik
- State Management: ReduxJS/Toolkit, React Hooks, UserContext API
- Development Tools: Babel (Core, Preset-Env, Preset-React), Parcel, Jest, @testing-library/react, PostCSS
- Techniques: Custom Hooks, Lazy Loading, Chunking, Prop Drilling
- APIs: Swiggy API (Assumed for demonstration purposes)
The app might face Cross-Origin Resource Sharing (CORS) issues when interacting with external APIs due to browser security measures. During development, ensure the backend server is configured to include appropriate CORS headers. For production, configure the server to allow requests from your domain.
/food-ordering-web-app
├── .parcel-cache/
├── dist/
├── node_modules/
├── src/
│ ├── assets/
│ │ └── img/ # All images used in the app
│ ├── components/ # React components
│ │ ├── __tests__/ # Test cases for components
│ │ ├── About.js
│ │ ├── Body.js
│ │ ├── Cart.js
│ │ ├── Contact.js
│ │ ├── Error.js
│ │ ├── FoodItem.js
│ │ ├── Footer.js
│ │ ├── Header.js
│ │ ├── Help.js
│ │ ├── Modal.js
│ │ ├── ProfileClass.js
│ │ ├── RestaurantCard.js
│ │ ├── RestaurantMenu.js
│ │ ├── Shimmer.js
│ │ ├── ShimmerMenu.js
│ ├── mocks/ # Mock data
│ │ ├── data.js
│ │ ├── dummyLogo.js
│ ├── utils/ # Utilities and custom hooks
│ │ ├── cartSlice.js
│ │ ├── help.js
│ │ ├── store.js
│ │ ├── useOnline.js
│ │ ├── UserContext.js
│ │ ├── useRestaurant.js
│ ├── App.js
│ ├── constants.js
├── .babelrc
├── .gitignore
├── .postcssrc
├── index.css
├── index.html
├── jest.config.js
├── package-lock.json
├── package.json
├── README.md
└── tailwind.config.js
- Clone the repository
git clone https://github.com/imatularyan/food-ordering-web-app.git
cd food-ordering-web-app
- Install dependencies
npm install
- Start the development server
npm start
The server will run on http://localhost:1234
by default.
After launching the server, access the app at http://localhost:1234
. Here, you can explore restaurants, manage your orders in the cart, and more.
Contributions are welcome! Please follow this workflow for contributions:
- Fork the repository.
- Create a new branch for your feature (
git checkout -b feature/AmazingFeature
). - Commit your changes (
git commit -m 'Add some AmazingFeature'
). - Push to the branch (
git push origin feature/AmazingFeature
). - Open a pull request.
This project is open source and available under the MIT License.