Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mahamudm90/laptop-shop
E-Commerce platform built with the MERN Stack & Redux 💻
https://github.com/mahamudm90/laptop-shop
mongodb mongodb-atlas nodejs paypal reactjs redux stripe
Last synced: about 6 hours ago
JSON representation
E-Commerce platform built with the MERN Stack & Redux 💻
- Host: GitHub
- URL: https://github.com/mahamudm90/laptop-shop
- Owner: MahamudM90
- Created: 2022-02-06T05:35:15.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-12-30T16:36:35.000Z (almost 2 years ago)
- Last Synced: 2023-12-29T10:27:55.113Z (11 months ago)
- Topics: mongodb, mongodb-atlas, nodejs, paypal, reactjs, redux, stripe
- Language: JavaScript
- Homepage:
- Size: 2.15 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Laptop-Shop 💻
> An E-Commerce Platform Built With The MERN Stack & Redux.💻
###### Home Page
![ScreenShot of Form](screenshots/a.png)
###### Latest Products
![ScreenShot of Form](screenshots/b.png)###### Footer
![ScreenShot of Form](screenshots/c.png)###### Client-Review
![ScreenShot of Form](screenshots/d.png)###### CheckOut
![ScreenShot of Form](screenshots/e.png)###### Singup & Login Page For Client
![ScreenShot of Form](screenshots/f.png)###### Shipping
![ScreenShot of Form](screenshots/g.png)###### Payment
![ScreenShot of Form](screenshots/h.png)###### Order-Shipping
![ScreenShot of Form](screenshots/i.png)###### Order-History
![ScreenShot of Form](screenshots/j.png)###### UserProfile-Update
![ScreenShot of Form](screenshots/k.png)###### Admin Show Userlist
![ScreenShot of Form](screenshots/l.png)###### Products Create & Delete page for Admin
![ScreenShot of Form](screenshots/m.png)###### Show-Orderlist
![ScreenShot of Form](screenshots/n.png)## Features
- Full featured of 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)### ES Modules In Node
We use 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 = 'abcde123'
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[email protected] (Admin)
123456[email protected] (Customer)
123456[email protected] (Customer)
123456
```