This project is an e-commerce application built using React.js, Vite, Firebase, Material UI, and Yarn. It provides various features for browsing and purchasing products, as well as authentication and user management capabilities.
- Filters: Users can sort products by price (low/high), rating, and apply filters based on a specific rating or price range.
- Protected Routes: Certain actions, such as adding products to the cart, require authentication. Users must be logged in to perform these actions.
- Quantity Management: Users can increase or decrease the quantity of products in their cart.
- Search: The application allows users to search for any product using a search bar.
- Authentication: Three authentication methods are available: guest login, email and password authentication, and Google login.
The following features are planned for future development:
- Wish Listing: Add the ability for users to create and manage wish lists.
- Order History: Implement a feature that displays the user's order history, allowing them to track past purchases.
- Payment Gateway Integration: Integrate a payment gateway to enable secure online payments.
To set up the project locally, follow these steps:
-
Ensure you have Node.js installed on your machine.
-
Clone the repository or download the source code.
-
Open a terminal and navigate to the project's root directory.
-
Run the following command to install project dependencies:
yarn
-
Create a Firebase project and obtain the configuration details (API keys, project ID, etc.).
-
Rename the
.env.example
file to.env
and update the values with your Firebase configuration. -
Start the development server:
yarn dev
The project utilizes the following technologies:
- React.js: A JavaScript library for building user interfaces.
- Vite: A fast build tool for modern web applications.
- Firebase: A backend-as-a-service platform providing authentication, database, and storage services.
- Material UI: A popular React component library for building user interfaces.
- Yarn: A package manager for managing project dependencies.
This project is licensed under the MIT License. Feel free to use, modify, and distribute the code for personal or commercial purposes.