项目作者: ProMehedi

项目描述 :
MERN Stack Complete eCommerce website
高级语言: JavaScript
项目地址: git://github.com/ProMehedi/proshop-v2.git
创建时间: 2021-04-21T16:19:56Z
项目社区:https://github.com/ProMehedi/proshop-v2

开源协议:

下载


ProShop eCommerce Platform

eCommerce platform built with the MERN stack & Redux.

screenshot

Features

  • Full featured shopping cart
  • Product reviews and ratings
  • Top products carousel
  • Product pagination
  • Product search feature
  • User profile with orders
  • Admin product management
  • Admin user management
  • Admin Order details page
  • Mark orders as delivered option
  • Checkout process (shipping, payment method, etc)
  • PayPal / credit card integration
  • Database seeder (products & users)

Note on Issues

Please do not post issues here that are related to your own code when taking the course. Add those in the Udemy Q/A. If you clone THIS repo and there are issues, then you can submit

Usage

ES Modules in Node

We us ECMAScript Modules in the backend in this project. Be sure to have at least Node v14.6+ or you will need to add the “—experimental-modules” flag.

Also, when importing a file (not a package), be sure to add .js at the end or you will get a “module not found” error

You can also install and setup Babel if you would like

Env Variables

Create a .env file in then root and add the following

  1. NODE_ENV = development
  2. PORT = 5000
  3. MONGO_URI = your mongodb uri
  4. JWT_SECRET = 'abc123'
  5. PAYPAL_CLIENT_ID = your paypal client id

Install Dependencies (frontend & backend)

  1. npm install
  2. cd frontend
  3. npm install

Run

  1. # Run frontend (:3000) & backend (:5000)
  2. npm run dev
  3. # Run backend only
  4. npm run server

Build & Deploy

  1. # Create frontend prod build
  2. cd frontend
  3. npm run build

There is a Heroku postbuild script, so if you push to Heroku, no need to build manually for deployment to Heroku

Seed Database

You can use the following commands to seed the database with some sample users and products as well as destroy all data

  1. # Import data
  2. npm run data:import
  3. # Destroy data
  4. npm run data:destroy
  1. Sample User Logins
  2. admin@example.com (Admin)
  3. 123456
  4. john@example.com (Customer)
  5. 123456
  6. jane@example.com (Customer)
  7. 123456

License

The MIT License