Skip to content

An e-commerce MERN web app with CRUD operations for products and categories, image uploading, advanced searching, and sorting. Additional features include a user cart and order history, admin dashboards, and Braintree payment system integration

Notifications You must be signed in to change notification settings

ymw0331/e-commercehub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ecommerce MERN Web Application

This project is based on Ryan Dhungel's Udemy course. The aim of this project is to create a fully functional ecommerce web application using the MERN stack.

Features

  • Creating, reading, updating, and deleting products and categories.
  • Uploading images.
  • Using custom product card components to display products.
  • Advanced searching and filtering of products.
  • Products based on categories.
  • Sorting products by created date and sold quantity.
  • Product in-stock/out-of-stock, sold quantity update etc.
  • View product with relative products (suggestive selling).
  • User cart and orders history.
  • Admin and user dashboards.
  • Order management by admin.
  • Email notification to users on order status change.
  • Protected routes for logged-in and admin users.
  • Braintree Payment System (Credit Card and PayPal).
  • Role-based access.

Technologies

  • React
  • Node.js
  • Express
  • MongoDB

Getting Started

  1. Clone this repository:
git clone https://github.com/ymw0331/ecommerce-mern-webapp.git
  1. Install dependencies for both the client and server:
# Install client dependencies
cd client && npm install

# Install server dependencies
cd ../ && npm install
  1. Set up environment variables by creating a .env file in the root of the project with the following keys:
MONGO_URI=<your_mongo_uri>
JWT_SECRET=<your_jwt_secret>
BRAINTREE_MERCHANT_ID=<your_braintree_merchant_id>
BRAINTREE_PUBLIC_KEY=<your_braintree_public_key>
BRAINTREE_PRIVATE_KEY=<your_braintree_private_key>
EMAIL_FROM=<your_email_address>
  1. Start the server: (cd ../)
npm run start
  1. Start the client: (cd client)
npm run start 

Contributing

Contributions are welcome! If you find any issues or want to contribute to the project, feel free to open a pull request or an issue.

Credits

Credit goes to Ryan Dhungel for his comprehensive course on Udemy, which served as the foundation for this project.

About

An e-commerce MERN web app with CRUD operations for products and categories, image uploading, advanced searching, and sorting. Additional features include a user cart and order history, admin dashboards, and Braintree payment system integration

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published