Skip to content

shraddha319/goodbooks-Client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

goodbooks

Build Status code style: prettier

An e-commerce application built exclusively for books using MERN stack.

Installation and Setup Instructions

Clone this repository. You will need node and npm installed globally on your machine.

Installation:

npm install

To Start Server

npm start

Visit app on your browser at:

localhost:3000

Tech Stack

  • UI Library: React JS
  • CSS library: Krypton UI
  • Routing: react router v6

API source code can be found here

Features

State manaement

  • User, Cart, Wishlist, Auth: React useReducer + useContext

Authentication

  • User Sign Up
  • User Login
  • Persist logged-in state with localStorage
  • Edit user profile

Cart Management

  • Add items to cart
  • Remove items from cart
  • Update quantity on individual items

Wishlist Management

  • Add items to wishlist
  • Remove items from wishlist
  • Move items to cart

Others

  • Filter books by genre, language, availability, rating etc.
  • Sort books by price and rating
  • Toast message on every update to cart and wishlist
  • Protected Routes
  • Redirect to login for unauthenticated users
  • Custom form validation
  • Authentication with JWT
  • Persist previous login session with localStorage
  • 404 page for incorrect route handling

Routes

  • / - home
  • /books - books listing
  • /books/:bookId - book details
  • /login - login
  • /signup - register

Follwing routes require user authentication:

  • /cart - user cart
  • /wishlist - user wishlist
  • /profile - edit user profile, logout

Attribution