Skip to content

Abhiroy17/swiggy-clone

Repository files navigation

Swiggy - A Swiggy Clone Web App

Swiggy is a personal project that replicates the popular food delivery application Swiggy. This web app is built using React, Vite as the bundler, Tailwind CSS for styling, Redux Toolkit for state management, and Jest for testing.

Swiggy Image

Features 🌟

  • User Location Detection: The app utilizes GPS to fetch the user's location and displays nearby restaurants based on their current location.

  • Restaurant Sorting: Users can sort the displayed restaurants based on delivery time, price (low to high or high to low), ratings, or the default order.

  • Restaurant Details: Users can explore individual restaurants and view the list of dishes available in each restaurant.

  • Cart Management: Users can add items to their cart while browsing restaurants. They can navigate to the cart page to review the summary of their order.

  • Dynamic Location Change: The app enables users to change their location dynamically using a search API to find restaurants in different areas.

Technologies Used 🛠️

  • React: The project is built using React, a popular JavaScript library for building user interfaces.

  • Tailwind CSS: Tailwind CSS is employed for styling the app, allowing for efficient and customizable styling using utility classes.

  • Redux Toolkit: Redux Toolkit is used for state management, providing a standardized way to manage and update the application's state.

  • Jest: Jest is the chosen testing library for unit testing components and ensuring their functionality.

Project Setup ⚙️

To set up and run the project locally:

  1. Clone the repository: git clone git@github.com:Abhiroy17/swiggy-clone.git
  2. Navigate to the project directory: cd swiggy-clone
  3. Install dependencies: npm install
  4. Start the development server: npm start or npm run start

Testing 🧪

The project includes a suite of tests written using Jest to ensure the reliability and correctness of the components.

To run the tests:

npm run test

Releases

No releases published

Packages

No packages published

Languages