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

https://github.com/sandesh300/react-ecommerce

MERN E-Commerce is an innovative online shopping platform built with MongoDB, Express.js, React, Redux Toolkit, Stripe API, and Node.js.
https://github.com/sandesh300/react-ecommerce

express javascript jwt-authentication mern-stack mongodb node nodemailer react redux-toolkit rest-api stripe-api

Last synced: 8 months ago
JSON representation

MERN E-Commerce is an innovative online shopping platform built with MongoDB, Express.js, React, Redux Toolkit, Stripe API, and Node.js.

Awesome Lists containing this project

README

          

# MERN E-Commerce
MERN E-Commerce is an innovative online shopping platform built using the MERN stack,
which stands for MongoDB, Express.js, React, and Node.js. It's a comprehensive solution
that enables businesses to set up and manage their online stores with ease while providing
customers with a seamless shopping experience.

## Features -
**1. Basic E-Commerce Features:**
Product lists, sorting, product details, cart, and checkout.

**2. Secure Card Payments:**
Implemented using Stripe for secure transactions.

**3. Admin Panel:**
Enables efficient management of orders and products.

**4. Data Management:**
Sorting, filtering, and pagination queries facilitated using Mongoose.

**5. Authentication:**
Utilizes Passport JS strategies for user authentication.

**6. Email Communication:**
Sends order and reset password emails using Nodemailer with GMail SMTP.

**7. User Profile:**
Allows users to create profiles and view their order history.

## Technical Details -

**1. Frontend Stack:**
React 18 with Tailwind CSS.

**2. State Management:**
Redux Toolkit with Async Thunk.

**3. Routing:**
React Router v6.

**4. Frontend Testing:**
Utilizes JSON-server for front-end testing.

**5. Backend Stack:**
MongoDB for the database.
REST API using Express.
Authentication with Passport JS and Passport JWT strategies.
MongoDB Atlas for cloud database hosting.

**6. Deployment:**
Vercel server deployment with straightforward instructions.

**7. Email Configuration:**
Configurable environment variables for SMTP and other settings.

**8. Payments:**
Secure payments integrated using Stripe's PaymentIntent-based custom flow.

## MongoDB Collections -
1. Brands
2. Carts
3. Categories
4. Orders
5. Products
6. Users

## Getting Started
## Installation

1. Install Node.js and npm
2. Clone the repository
3. Install dependencies using npm install.
npm install
Configuration instructions

## Configuration
You need to configure the following environment variables:
* STRIPE_SECRET_KEY
* MONGODB_URI
* EMAIL_HOST
* EMAIL_PORT
* EMAIL_USER
* EMAIL_PASSWORD

## Testing
To run the tests, run the following command:
npm test

## Deployment
The backend can be deployed to Vercel by following these instructions:
1. Create a Vercel account
2. Create a new project
3. Select the "Github" integration
4. Enter the repository URL
5. Click the "Deploy" button

## Video
https://github.com/sandesh300/mern-ecommerce/assets/92014891/1cd7829f-b49e-4aeb-bdbb-fea41ce290eb

## Screenshots
![Screenshot (1036)](https://github.com/sandesh300/React-Ecommerce/assets/92014891/e12604c2-134c-483b-8731-7b90b52c5910)
![image](https://github.com/sandesh300/React-Ecommerce/assets/92014891/aa4422a1-0524-4017-882d-956c15090886)
![Screenshot (1076)](https://github.com/sandesh300/React-Ecommerce/assets/92014891/145394cd-2179-4d27-8b06-50794190b02c)
![Screenshot (1077)](https://github.com/sandesh300/React-Ecommerce/assets/92014891/e7f957cc-a8f3-40f3-98b2-66ef763425e4)
![Screenshot (1![Screenshot (1078)](https://github.com/sandesh300/React-Ecommerce/assets/92014891/732b00b8-fd71-474c-81ec-9611d6edf928)
![Screenshot (1079)](https://github.com/sandesh300/React-Ecommerce/assets/92014891/64c4f098-cad7-42c9-8b4c-3342fc7c095c)
![Screenshot (1081)](https://github.com/sandesh300/React-Ecommerce/assets/92014891/03c84db5-f9ec-496c-89d5-c59754fe255f)
![Screenshot (1082)](https://github.com/sandesh300/React-Ecommerce/assets/92014891/e73348f7-aeed-4352-8187-418e6883422c)
![Screenshot (1083)](https://github.com/sandesh300/React-Ecommerce/assets/92014891/74d90c8b-bb68-4f7f-8796-942c2ad12764)
![Screenshot (1084)](https://github.com/sandesh300/React-Ecommerce/assets/92014891/32c8d3da-5b75-47cd-b6ad-5f4f3e12f243)
![Screenshot (1085)](https://github.com/sandesh300/React-Ecommerce/assets/92014891/2d028db3-f0d2-49dd-945c-065aac0a4d41)
![Screenshot (1086)](https://github.com/sandesh300/React-Ecommerce/assets/92014891/24a131f5-fb9c-4973-94ac-0c00f3fd4c6f)
![Screenshot (1088)](https://github.com/sandesh300/React-Ecommerce/assets/92014891/5bc3eb45-c8e5-4982-96c8-f54b6de9958e)
![Screenshot (1087)](https://github.com/sandesh300/React-Ecommerce/assets/92014891/962b252e-aa6f-4107-9217-41db526eaf70)