This is a complete Full Stack E-commerce Web Application built using the MERN stack (MongoDB, Express.js, React, Node.js) with secure Stripe payment integration. It includes all the core features of a modern e-commerce platform such as product listing, shopping cart, user authentication, order management, and payment processing. Whether you're learning MERN or building a real-world e-commerce solution, this project provides a solid foundation for scalable and production-ready applications.
- π§ Build a complete MERN stack application that follows modern development practices and architecture.
- π¨ Develop a responsive and user-friendly UI using React JS for seamless user experience across all devices.
- π‘οΈ Implement user authentication and authorization using JSON Web Tokens (JWT) for secure login and route protection.
- π Design a dynamic cart and checkout system that supports both Cash on Delivery (COD) and Stripe payment processing.
- ποΈ Manage product and order data efficiently using MongoDB and Mongoose for database operations.
- πΌ Include an Admin Dashboard for managing products, users, and orders with real-time updates.
- π³ Integrate Stripe API to securely handle online payments and transaction management.
- π¦ Enable order tracking, history, and user account management for a full-fledged e-commerce experience.
- π Maintain clean, modular, and reusable code structure to facilitate scalability and collaboration.
- User Registration & Login (JWT Authentication)
- Admin Panel for Product & Order Management
- Add to Cart and Full Checkout Flow
- Cash on Delivery (COD) & Stripe Payment Integration
- Responsive UI (Mobile-friendly Design)
- Protected Routes for Users and Admins
- Order History and Detailed Order View
- Clean and Scalable Folder Structure
- Frontend: React JS, React Router, Axios, Bootstrap/Tailwind CSS
- Backend: Node.js, Express.js, MongoDB (with Mongoose)
- Authentication: JSON Web Tokens (JWT)
- Payment Integration: Stripe API
- State Management: Context API (or Redux, optional)
- Deployment Ready: Environment variables (
.env), modular folder structure
| Role | Password | |
|---|---|---|
| Admin | admin@example.com | admin123 |
| User | user@gmail.com | user@123 |
β οΈ π Note: Admin panel access is disabled for security reasons.
To request access, please contact me via LinkedIn
| Role | Card No | Date | CVC | Phone | OTP | |
|---|---|---|---|---|---|---|
| Stripe | demo@gmail.com | 4242 4242 4242 4242 | 12/34 | 567 | ||
| Razorpay | demo@gmail.com | 4386 2894 0766 0153 | 15/35 | 234 | 9876543210 | 12345 |
A step-by-step guide to install and run the Forever-Shopping MERN stack project locally on your Windows PC.
Before starting, make sure the following tools are installed:
| Tool | Purpose | Download Link |
|---|---|---|
| Node.js | Backend & frontend runtime | https://nodejs.org/ |
| Git | Clone GitHub repo | https://git-scm.com/ |
| MongoDB Atlas | Cloud database | https://www.mongodb.com/cloud/atlas/register |
| Code Editor | VS Code recommended | https://code.visualstudio.com/ |
git clone https://github.com/pranto113015/forever-shopping.git
cd forever-shoppingcd backend
npm installCreate a .env file in the /backend directory:
MONGODB_URL = your_mongodb_atlas_connection_string
CLOUDINARY_API_KEY = your_cloudinary_api_key
CLOUDINARY_SECRET_KEY = your_cloudinary_secret_key
CLOUDINARY_NAME = your_cloudinary_name
JWT_SECRET = your_jwt_secret
ADMIN_EMAIL = "admin@example.com"
ADMIN_PASSWORD = "admin123"
STRIPE_SECRET_KEY = your_stripe_secret_key
RAZORPAY_KEY_SECRET = your_rasorpay_key_secret
RAZORPAY_KEY_ID = your_rasorpay_key_id
PORT=5000Run the backend server:
npm run devNow Backend will run on like http://localhost:5000
cd frontend
npm installCreate a .env file in the /frontend directory:
VITE_BACKEND_URL= your_backend_url_port
VITE_RAZORPAY_KEY_ID = your_razorpay_key_idNow Frontend will run on like http://localhost:3000
- Visit: https://www.mongodb.com/cloud/atlas/register
- Create a Free Shared Cluster
- Create a DB user (e.g., e-commerce)
- Whitelist IP Address β Allow Access from Anywhere (0.0.0.0/0)
- Click Connect β Connect your application
- Copy your Mongo URI Like :
mongodb+srv://demo:kjkfldjskdljfkls@er4ere.dfdf.hdfkjhsdfhd/jlkjfdklsjdklf?retryWrites=true&w=majority
- Paste it into your .env file as MONGO_URI
Option 1: Use Predefined Admin Credentials
| Role | Password | |
|---|---|---|
| Admin | admin@example.com | admin123 |
Option 2: Promote Your Own Account
-
Register a new user on the frontend
-
Go to MongoDB Atlas β Cluster β Collections β users
-
Find your user and update the role like:
{ "role": "admin" } -
Save and re-login β you now have admin access
π― Done! Your full-stack e-commerce site is now running locally π
forever-shopping/
β
βββ backend/ # Express backend + Mongoose schemas
β βββ controllers/ # Request handlers
β βββ models/ # MongoDB schemas
β βββ routes/ # API routes
β βββ .env # Environment config
β
βββ frontend/ # React frontend
β βββ components/ # Reusable UI components
β βββ pages/ # User-facing pages
β βββ context/ # Auth & state management
β βββ App.js # Main app file
β
βββ admin/ # Admin dashboard
β βββ components/ # Admin UI components (e.g., Sidebar, Navbar)
β βββ pages/ # Admin pages (UserList, ProductList, Orders)
β βββ services/ # API calls related to admin
β βββ utils/ # Helper functions
β βββ App.js # Admin app entry point
β
βββ README.md # Project guideThis project is licensed under the MIT License - see the LICENSE file for details.
- Developed as part of the own learning.
- Inspired by MERN project like Full Stack E-comerce site.
If you have any questions or need further clarification, please contact my email/ Linkedin .
-
π Email : pranto113015@gmail.com
-
π΅οΈββοΈ Linkedin : Pranto Kumar
β If you found this project helpful, please give it a star!
This project demonstrates professional full-stack development with modern technologies, proper database integration and production-ready architecture. Perfect for showcasing your skills to potential employers!