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.
- Host: GitHub
- URL: https://github.com/sandesh300/react-ecommerce
- Owner: sandesh300
- Created: 2023-07-28T09:34:21.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2024-04-25T06:45:24.000Z (about 2 years ago)
- Last Synced: 2025-07-04T01:02:10.977Z (11 months ago)
- Topics: express, javascript, jwt-authentication, mern-stack, mongodb, node, nodemailer, react, redux-toolkit, rest-api, stripe-api
- Language: JavaScript
- Homepage: https://mern-ecommerce-bbp5xzvdr-sandesh300.vercel.app
- Size: 2.6 MB
- Stars: 12
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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













