Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/itscodeninja/proshop
Built a fully-featured eCommerce website for ProShop with a focus on seamless user experience. Integrated advanced state management for efficient and scalable performance.
https://github.com/itscodeninja/proshop
javascript mongodb nodejs payment-gateway paypal-checkout react sanity vitejs
Last synced: 2 months ago
JSON representation
Built a fully-featured eCommerce website for ProShop with a focus on seamless user experience. Integrated advanced state management for efficient and scalable performance.
- Host: GitHub
- URL: https://github.com/itscodeninja/proshop
- Owner: itscodeninja
- Created: 2024-08-18T14:51:44.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-08-18T14:55:43.000Z (5 months ago)
- Last Synced: 2024-10-09T17:04:42.695Z (3 months ago)
- Topics: javascript, mongodb, nodejs, payment-gateway, paypal-checkout, react, sanity, vitejs
- Language: JavaScript
- Homepage:
- Size: 1.37 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# ProShop
> eCommerce platform built with the MERN stack & Redux.
![Image](https://github.com/bradtraversy/proshop-v2/raw/main/frontend/public/images/screens.png)
## 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)## Usage
- Create a MongoDB database and obtain your `MongoDB URI` - [MongoDB Atlas](https://www.mongodb.com/cloud/atlas/register)
- Create a PayPal account and obtain your `Client ID` - [PayPal Developer](https://developer.paypal.com/)### Env Variables
Rename the `.env.example` file to `.env` and add the following
```
NODE_ENV = development
PORT = 5000
MONGO_URI = your mongodb uri
JWT_SECRET = 'abc123'
PAYPAL_CLIENT_ID = your paypal client id
PAGINATION_LIMIT = 8
```Change the JWT_SECRET and PAGINATION_LIMIT to what you want
### 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
```