This is a food ordering app built entirely using React, with Redux for state management. The app also utilizes APIs provided by Swiggy to enhance the user experience. Initially, the app was developed in JavaScript and was later migrated to TypeScript for improved maintainability and type safety.
- User Authentication: Allows users to create accounts, log in, and maintain their profiles.
- Browse Restaurants: Users can explore a variety of restaurants available on the platform.
- Restaurant Details: View detailed information about each restaurant, including menus, ratings, and reviews.
- Order Food: Select dishes from the menu, customize them, and place orders.
- Real-time Updates: Receive real-time updates on the status of your order.
- User Reviews: Leave reviews and ratings for restaurants.
- Search and Filters: Find restaurants and dishes using search and filtering options.
- Secure Payment: Payment integration for seamless transactions.
- User Profiles: Maintain user profiles and order history.
- Responsive Design: Ensures a seamless experience on both desktop and mobile devices.
- React: The core framework for building the user interface.
- Redux: Used for state management to ensure a consistent user experience.
- TypeScript: Ensures type safety and improves code maintainability.
- Swiggy APIs: Integration with Swiggy APIs for restaurant and menu data.
- Authentication: Implement user authentication for secure access.
- Payment Gateway: Integration of a secure payment gateway for transactions.
To run this project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/yourusername/food-ordering-app.git cd food-ordering-app
-
Install dependencies:
npm install
-
Start the development server:
npm start
-
Open your web browser and navigate to
http://localhost:3000
to access the app.
We welcome contributions from the community. If you'd like to contribute to this project, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix:
git checkout -b feature-name
. - Make your changes and commit them:
git commit -m "Add feature or fix"
. - Push your changes to your fork:
git push origin feature-name
. - Open a pull request on the main repository.