eCommerce platform built with the MERN stack & Redux.
This project is part of my MERN Stack From Scratch | The eCommerce Platform. It is a full-featured shopping cart with PayPal & credit/debit payments. This is version of the app uses Redux Toolkit for state management, 'react-bootstrap' is used for the Bootstrap theme, and mongoose is used for creating the data models.
- 🛒 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)
- Create a MongoDB database and obtain your MongoDB URI - MongoDB Atlas
- Create a PayPal account and obtain your Client ID - PayPal Developer
Rename the .env.example file to .env and add the following
NODE_ENV = development
PORT = 5000
MONGO_URI = your mongodb uri
MONGO_COMPASS = your_mongo_compass
JWT_SECRET = 'your scret key'
PAYPAL_CLIENT_ID = your paypal client id
PAGINATION_LIMIT = 8
Change the JWT_SECRET and PAGINATION_LIMIT to what you want
npm install
cd frontend
npm install
# Run frontend (:3000) & backend (:5000)
npm run dev
# Run backend only
npm run server
# Create frontend prod build
cd frontend
npm run build
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)
password
[email protected] (Customer)
password
[email protected] (Customer)
steverogers
Some minor bug fixes in the frontend and backend