Skip to content

chathurperera/MERN-Ecommerce-WebApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

CALIFORNIA - MERN Stack Ecommerce website

Live site https://california-ecommerce.cyclic.app/
Admin Dashboard https://mern-ecommerce-admin.vercel.app

Built using

Front-end

Back-end

  • Node.js - Runtime environment for JS
  • Express.js - Node.js framework, makes process of building APIs easier & faster
  • MongoDB - Database to store document-based data
  • Mongoose - MongoDB object modeling for Node.js
  • AWS S3 - For storing images
  • JSON Web Token - A standard to secure/authenticate HTTP requests
  • Bcrypt.js - For hashing passwords
  • Dotenv - To load environment variables from a .env file

Features

  • Authentication (login/register with username-password)
  • Sorting of product on basis of latest,price low to high or high to low.
  • Password reset
  • Cart Add/Remove Items | Update Quantities
  • Storing images programmatically in a S3 bucket
  • Products Pagination (Default 12 Products Per Page)
  • Product Filters Based on Category/Gender/Price
  • Persisting cart in the local storage
  • Error management to prevent app crashes
  • Sort products by latest, highest price, lowest pric.
  • Order Details of All Ordered Item
  • Toast notifications for actions: adding posts, deleting comments etc.
  • Skeleton Loader for relevant fetching processes
  • Responsive UI
  • Stock Management: Decrease stock of product when shipped
  • Admin: Add/Update Products
  • Admin: Update Order Status | Delete Order
  • Admin: Dashboard access to only admin roles

Usage

Notes:

Env variable:

Create .env file in server directory and add the following:

MONGO_URI = "Your Mongo URI"
JWT_SECRET = "Your JWT secret"
BUCKET_NAME = "Bucket Name"
BUCKET_REGION = "Bucket Region"
ACCESS_KEY = "Bucket Access Key"
SECRET_ACCESS_KEY = "Bucket Secret key"

Client:

cd client
npm install
npm start

Server:

Note: Make sure that you have installed 'nodemon' as global package.

cd server
npm install
npm start