Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vikasipar/ecommerce-app
ezMart simulates a real-world shopping experience 🛒
https://github.com/vikasipar/ecommerce-app
fakestoreapi firebase-auth reactjs redux-toolkit tailwindcss
Last synced: 7 days ago
JSON representation
ezMart simulates a real-world shopping experience 🛒
- Host: GitHub
- URL: https://github.com/vikasipar/ecommerce-app
- Owner: vikasipar
- Created: 2023-12-10T06:58:39.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-02-09T17:32:46.000Z (9 months ago)
- Last Synced: 2024-02-09T18:39:15.256Z (9 months ago)
- Topics: fakestoreapi, firebase-auth, reactjs, redux-toolkit, tailwindcss
- Language: JavaScript
- Homepage: https://ezmartshop.vercel.app
- Size: 177 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Â Â ezMart - E-commerce Application
#### click here to [ 👉 view site](https://ezmartshop.vercel.app/)### Overview
This project is a dynamic and responsive E-commerce application built using React.js, Redux Toolkit, Tailwind CSS, and integrated with Firebase for user authentication. The application fetches product data from the FakeStoreAPI to simulate a real-world shopping experience.### Motivation
As a fresh developer, my primary motivation for embarking on this E-commerce App project is my hands-on playground for learning and applying new technologies. Through building with React.js, Redux Toolkit, and Tailwind CSS, I aim to gain practical experience and showcase my skills in a real-world context. Integrating Firebase and FakeStoreAPI provides exposure to industry-standard tools. Beyond creating an application, this project signifies a commitment to continuous learning, enabling me to navigate challenges in state management, responsive design, and library integration. It's a journey of refining my problem-solving skills and creating a portfolio piece that represents my growth potential in the field.
### Why I Built the Project This Way
- Seamless Shopping Experience.
- Chose React.js and Redux Toolkit for their modern and efficient approach to state management and UI development.
- Implemented Tailwind CSS for a visually appealing and responsive design across various devices.
- Integrated Firebase for secure user authentication, ensuring the protection of user accounts.
- Incorporated popular libraries such as react-router-dom, react-icons, and react-toastify to add functionality and polish.### Features
- **Intuitive Product Listing and Filtering:**
- Seamless navigation through a well-organized product catalog.
- Dynamic filtering options for an enhanced shopping experience.- **Product Details Page:**
- Individual product pages providing comprehensive details and explanations.
- Rich multimedia content showcasing each product.- **Seamless Cart Operations with Redux Toolkit:**
- Efficient state management for smooth and intuitive cart interactions.
- Add, remove, and update items in the cart seamlessly.- **Display Number of Items in Cart:**
- Real-time display of the total number of items in the user's shopping cart.
- Clear and concise information for a better understanding.- **Loading States Represented by Loading Skeletons:**
- Enhance user experience by displaying loading skeletons during data fetching.
- Keep users informed about ongoing processes.- **API Integration for Displaying Products:**
- Utilize FakeStoreAPI for realistic and dynamic product data.
- Ensure up-to-date and accurate information for users.- **Secure User Authentication with Firebase:**
- Implement Firebase for a robust and secure user authentication process.
- Safeguard user accounts with email and password login.- **User-Friendly Toast Messages:**
- Provide informative and user-friendly toast messages.
- Enhance the overall user experience with clear notifications.- **Responsive and Visually Appealing Design with Tailwind CSS:**
- Craft a visually pleasing and responsive design for optimal user engagement.
- Utilize the power of Tailwind CSS for consistent styling across devices.### Technologies Used
- **React.js:** A powerful and declarative JavaScript library for building user interfaces.
- **Redux Toolkit:** A set of tools and utilities for efficient state management in React applications. [Read more](https://medium.com/@vikasipar/understanding-redux-toolkit-a-practical-guide-with-an-e-commerce-application-938cf07d38a0).
- **Tailwind CSS:** A highly customizable, utility-first CSS framework for building modern and responsive user interfaces.
- **Firebase:** A comprehensive platform for building web and mobile applications, providing authentication, real-time database, and cloud functions.
- **FakeStoreAPI:** An external API used for fetching realistic and dynamic product data for the E-commerce application.#### Libraries/Packages Used
- **react-router-dom:** A routing library for handling navigation and view changes in a React application.
- **react-icons:** A library providing a comprehensive collection of icons for React applications.
- **react-toastify:** A popular library for displaying customizable toast notifications in React projects.
- **react-redux:** A library that connects React components to a Redux store for efficient state management.
- **tailwindcss:** The core library for implementing Tailwind CSS utility classes in the project.### Getting Started
1. Clone the repository:
```bash
git clone https://github.com/vikasipar/ecommerce-app.git
```
2. Install dependencies:
```bash
npm install
```
3. Set up Firebase credentials.### Running the App
```bash
npm run dev
```
Open [http://localhost:5173](http://localhost:5173) in your browser.### Deployment
1. Build the project:
```bash
npm run build
```
2. Deploy to your hosting platform (e.g., Vercel).### Screenshots
              Â### Future Enhancements
- Enhanced filters and searching
- Checkout page
- Payment gateway integration### Contact
**- Vikas Ipar** ([email protected])Feel free to explore the code and adapt the project to meet your needs. If you encounter any problems or have suggestions for improvement, don't hesitate to reach out.