Skip to content

vikasipar/ecommerce-app

Repository files navigation

Ezmart Logo    ezMart - E-commerce Application

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.

  • 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:
    git clone https://github.com/vikasipar/ecommerce-app.git
  2. Install dependencies:
    npm install
  3. Set up Firebase credentials.

Running the App

npm run dev

Open http://localhost:5173 in your browser.

Deployment

  1. Build the project:
    npm run build
  2. Deploy to your hosting platform (e.g., Vercel).

Screenshots

Homepage Screenshot                 Add to Cart Screenshot

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.

About

ezMart simulates a real-world shopping experience 🛒

Topics

Resources

Stars

Watchers

Forks