eCommerce platform built with the MERN Stack
- Framework: Express.js
- Database: MongoDB
- Authentication: JSON Web Tokens
- Test API Platform: Postman
- Image Upload: Multer
- 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 a delivered option
- Checkout process (shipping, payment method, etc.)
- PayPal / credit card integration with react-paypal-js
- Database seeder (products & users)
To run this project, you will need to add the following environment variables to your .env file
NODE_ENV
PORT
MONGO_URI
JWT_SECRET
PAYPAL_CLIENT_ID
Basic CRUD functionality for products
GET /api/products
Parameter | Type | Description |
---|---|---|
api_key |
string |
Required. Your API key |
GET /api/products/${id}
Parameter | Type | Description |
---|---|---|
id |
string |
Required. Id of product to fetch |
# Run backend only
npm run server
# Run frontend only
npm run client
# Run frontend (:3000) & backend (:5000)
npm run dev
# Create production build
npm run heroku-postbuild
# Import sample data
npm run data:import
# Delete sample data
npm run data:destroy
This project is a part of a MERN Stack course and is not intended for selling real-life products or making transit payments