eCommerce platform built with the React + Typescript & NodeJs + Typescript & Redux.
- Full featured shopping cart
- Responsive design
- Product reviews and ratings
- Multiple images uploads using cloudinary
- 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)
I have used typescript in the backend and the Frontend in this project. Be sure to have at least Node v14.6+ .
Create a .env file in the root of the project and add the following
NODE_ENV = development
PORT = 5000
DATABASE_URL = your mongodb uri
JWT_SECRET_KEY = 'abc123'
PAYPAL_CLIENT_ID = your paypal client id
CLOUDINARY_NAME=Your cloudnary name
CLOUDINARY_API_KEY=Your cloudainary api_key
CLOUDINARY_SECRET=Your cloudinary secret
REACT_APP_BASE_URL= it isn't required for the purpose because i already have a proxy on the frontend
yarn install
cd frontend
yarn install
# Run frontend (:3000) & backend (:4000)
yarn dev
# Run frontend only
yarn dev:client
# Run backend only
yarn dev:backend
# Create frontend prod build
cd frontend
yarn run build
There is a Heroku postbuild script, so if you push to Heroku, no need to build manually for deployment to Heroku
You can use the following commands to seed the database with some sample users and products as well as destroy all data
# Import data
yarn run data:import
# Destroy data
yarn run data:destroy
Sample User Logins
[email protected] (Admin)
123456
[email protected] (Customer)
123456
[email protected] (Customer)
123456
The MIT License