https://github.com/promehedi/proshop-v2
MERN Stack Complete eCommerce website
https://github.com/promehedi/proshop-v2
axios bcryptjs ecommerce-platform express heroku mongodb morgan multer nodejs react-paypal-button-v2 reactjs redux
Last synced: about 2 months ago
JSON representation
MERN Stack Complete eCommerce website
- Host: GitHub
- URL: https://github.com/promehedi/proshop-v2
- Owner: ProMehedi
- Created: 2021-04-21T16:19:56.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2021-05-27T06:50:45.000Z (about 5 years ago)
- Last Synced: 2025-01-08T12:17:21.546Z (over 1 year ago)
- Topics: axios, bcryptjs, ecommerce-platform, express, heroku, mongodb, morgan, multer, nodejs, react-paypal-button-v2, reactjs, redux
- Language: JavaScript
- Homepage: https://pm-proshop.herokuapp.com/
- Size: 1.28 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ProShop eCommerce Platform
> eCommerce platform built with the MERN stack & Redux.

## 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
```
NODE_ENV = development
PORT = 5000
MONGO_URI = your mongodb uri
JWT_SECRET = 'abc123'
PAYPAL_CLIENT_ID = your paypal client id
```
### Install Dependencies (frontend & backend)
```
npm install
cd frontend
npm install
```
### Run
```
# Run frontend (:3000) & backend (:5000)
npm run dev
# Run backend only
npm run server
```
## Build & Deploy
```
# Create frontend prod build
cd frontend
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
```
# Import data
npm run data:import
# Destroy data
npm run data:destroy
```
```
Sample User Logins
admin@example.com (Admin)
123456
john@example.com (Customer)
123456
jane@example.com (Customer)
123456
```
## License
The MIT License