Skip to content

Latest commit

ย 

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ›’ BuyBusy - E-Commerce Web Application

A full-featured E-Commerce web application built using React.js, Redux Toolkit, Firebase Authentication, and Firestore Database.

BuyBusy was initially developed as a learning project while exploring React.js and modern frontend development. Later, the application was refactored using Redux Toolkit to improve state management, scalability, and code organization. This project also served as my final-year major project and is now part of my developer portfolio.

The application allows users to create accounts, securely log in, browse products, manage their shopping cart, and place orders through a responsive and user-friendly interface.

๐Ÿš€ Live Demo

๐Ÿ”— Live Application: BuyBusy Live Demo

๐Ÿ”— Connect With Me


๐Ÿ“ธ Application Preview

Home Page (Guest User)

Home Page

Sign Up

Sign Up

Sign In

Sign In

Home Page (After Login)

Home After Login

Product Added Notification

Notification

Shopping Cart

Cart

Orders Page

Orders


โœจ Features

Authentication

  • User Registration
  • User Login
  • Secure Firebase Authentication
  • Persistent User Sessions
  • Logout Functionality
  • Protected Routes

Product Management

  • Browse Available Products
  • Product Filtering
  • Dynamic Product Rendering
  • Responsive Product Layout

Shopping Cart

  • Add Products to Cart
  • Increase Quantity
  • Decrease Quantity
  • Remove Products
  • Real-Time Cart Updates

Order Management

  • Purchase All Cart Items
  • Store Orders in Database
  • View Previous Orders
  • Detailed Order History

User Experience

  • Responsive Design
  • Loading Indicators
  • Toast Notifications
  • Error Handling
  • Smooth Navigation

๐Ÿ›  Tech Stack

Frontend

  • React.js
  • React Router DOM
  • Redux Toolkit
  • React Redux

Backend & Database

  • Firebase Authentication
  • Firebase Firestore

Styling

  • CSS3

Additional Libraries

  • React Toastify
  • React Spinner Material

Deployment

  • Render

๐Ÿ“‚ Project Structure

src/
โ”‚
โ”œโ”€โ”€ components/
โ”‚   โ”œโ”€โ”€ NavBar
โ”‚   โ”œโ”€โ”€ Loader
โ”‚   โ”œโ”€โ”€ CartItem
โ”‚   โ”œโ”€โ”€ OrderDetail
โ”‚   โ”œโ”€โ”€ FilterBar
โ”‚   โ””โ”€โ”€ MainContent
โ”‚
โ”œโ”€โ”€ pages/
โ”‚   โ”œโ”€โ”€ Home
โ”‚   โ”œโ”€โ”€ SignIn
โ”‚   โ”œโ”€โ”€ SignUp
โ”‚   โ”œโ”€โ”€ Cart
โ”‚   โ”œโ”€โ”€ Orders
โ”‚   โ””โ”€โ”€ Error
โ”‚
โ”œโ”€โ”€ redux/
โ”‚   โ”œโ”€โ”€ authReducer
โ”‚   โ”œโ”€โ”€ productReducer
โ”‚   โ””โ”€โ”€ store
โ”‚
โ”œโ”€โ”€ routes/
โ”‚
โ””โ”€โ”€ App.js

๐Ÿ”„ Application Workflow

User Authentication

  1. User creates an account.
  2. User signs in using Firebase Authentication.
  3. Session is maintained securely.
  4. Protected pages become accessible.
  5. User can logout at any time.

Shopping Workflow

  1. Browse products.
  2. Add products to cart.
  3. Update product quantities.
  4. Remove unwanted products.
  5. Purchase products.
  6. Store order history in the database.
  7. View previous orders.

๐Ÿง  Challenges Faced

Migrating to Redux Toolkit

One of the most challenging parts of this project was refactoring the entire application after learning Redux Toolkit.

The application was originally developed using React's basic state management techniques. After understanding Redux and centralized state management, I decided to rebuild the data flow using:

  • Redux Toolkit
  • createSlice()
  • createAsyncThunk()
  • Centralized Redux Store

This migration required restructuring multiple components and solving state synchronization issues across the application.

Authentication Implementation

Implementing user authentication introduced several challenges, including:

  • Managing user sessions
  • Protecting authenticated routes
  • Synchronizing Firebase authentication state
  • Handling login and logout flows

Working through these challenges significantly improved my understanding of frontend architecture and real-world application development.


๐ŸŽฏ Key Learnings

Through this project, I gained practical experience with:

  • React Component Architecture
  • React Router DOM
  • Redux Toolkit
  • Async Thunks
  • Global State Management
  • Firebase Authentication
  • Firestore Database
  • Protected Routes
  • Application Scalability
  • Debugging Complex State Issues
  • Deployment Using Render

โš™๏ธ Installation

Clone the repository:

git clone YOUR_REPOSITORY_LINK

Navigate to the project folder:

cd buybusy-redux

Install dependencies:

npm install

Run the application:

npm start

Open:

http://localhost:3000

๐Ÿ”ฎ Future Improvements

Planned enhancements include:

  • Payment Gateway Integration
  • Product Wishlist
  • Product Reviews & Ratings
  • Advanced Search Functionality
  • Product Sorting
  • Pagination
  • User Profile Management
  • Order Tracking System

๐Ÿ‘ฉโ€๐Ÿ’ป Author

Simran Mandal

Feel free to connect with me and explore my other projects.


โญ If you found this project interesting, consider giving it a star.

About

Learning React, redux library and redux-toolkit by creating this e-commerce wen app. BuyBusy is a web application for the customers of an e-comerce business.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages