Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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.

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
```