Ecommerce app with MERN stack including stripe payment integration and Firebase authentication. technologies include React, Redux, Ant Design, Firebase, NodeJs and MongoDB.
This project will be perfect base and a MVP to start e-Commerce project. All the basic functionality is included plus extra features are also included
Project Overview
- Login Registration System
- Login with email/password and social login (Google)
- Admin dashboard and order management system
- Products CRUD with advance features including categories, sub-categories, multiple image uploads etc
- Plenty of advance searching and filtering options
- Star rating system
- Cart functionality with both backend/frontend implementation
- Checkout with stripe for credit card payments
- Checkout with cash on delivery (no online payment required)
- User dashboard with password update, purchase history, Invoice/PDF download etc
Project breakdown
- React Client (Frontend)
- Firebase Authentication and Redux
- Node MongoDB API (Backend)
- Firebase Auth Check (Server side)
- User Admin and Protected Routes
- Categories CRUD
- Sub Categories CRUD
- Creating Products with Categories and Sub Categories (Advance)
- Multiple Image Uploads with Client Side Resize
- Update and Delete Products (Advance)
- Displaying Products Pagination and Carousel
- Star Rating System
- Products based on Categories and Sub Categories
- Advance Searching and Filtering (9 Different Ways)
- Add to Cart
- Checkout
- Coupon
- Payment with Stripe
- Orders
- User Dashboard (Purchase History)
- PDF/Invoice Download
- Admin Dashboard (Order Management)
- Wishlist
- Cash On Delivery (Cashless order)
How to run
Clone both frontend and backend project. Then setup the env files
git clone https://github.com/shafeequeom/MERN-Ecommerce-Backend backend
git clone https://github.com/shafeequeom/MERN-ECommerce-Frontend frontend
Account and Credentials needed
- Cloudinary – For image storage
- Stripe
- MongoDB (if you are using cloud db)
- Firebase Credentials – Signup for firebase and update credentials in config folder of backend
# FRONTEND ENV
REACT_APP_REGISTER_REDIRECT_URL="http://localhost:3000/register/complete"
REACT_APP_FORGET_PASSWORD_REDIRECT_URL="http://localhost:3000/login"
REACT_APP_API_URL="http://localhost:8500/api/"
REACT_APP_STRIPE_KEY=xxxxxxxxxxxxx
#BACKEND ENV
DATABASE_URL='mongodb+srv://username:password@cluster0.uj3h0.mongodb.net/dbname?retryWrites=true&w=majority'
PORT=8500
CLOUDINARY_NAME=name
CLOUDINARY_API_KEY=XXXXXXX
CLOUDINARY_API_SECRET=XXXXXXX
STRIPE_SECRET=xxxxxxx
Install npm packages in frontend and backend and run the project
npm i
npm run start
Nice!