MERN Ecommerce:
A Seamless Shopping Experience Powered by the MERN Stack, Redux Toolkit, and Material UI
Also try -> https://mernchat.in
Note✨: I have another amazing project on
end-to-end-encrypted-chat-application using Next.js, Prisma, Postgresql, Express, Socket.io.
MERN Ecommerce is a full-stack application designed to transform your online shopping experience. Built with the MERN stack (MongoDB, Express.js, React, Node.js), it leverages Redux Toolkit for efficient state management and Material UI for a sleek, user-friendly interface. This project offers a robust platform for both users and admins, packed with essential features for a seamless experience.
Features
User:
- Product Reviews:
- Write, edit, and delete reviews.
- Instant updates on ratings and star percentages.
- Wishlist:
- Add, remove, and annotate products with personalized notes.
- Order Management:
- Create new orders and view order history.
- Profile Management:
- Manage email, username, and multiple addresses.
- Shopping Cart:
- Add products, adjust quantities, and view subtotals.
Admin:
- Product Management:
- Add, edit, delete, and soft-delete products.
- Manage product attributes like name and stock.
- Order Management:
- View and update order details and status.
Security & User Experience:
- Secure Authentication:
- Login, signup, OTP verification, password reset, and logout.
- Intuitive Interface:
- Powered by Material UI for a visually appealing and user-friendly experience.
Scalability:
- Built for Growth:
- Scalable architecture to handle increasing user demands.
Project Setup
Prerequisites
- Node.js ( version v21.1.0 or later )
- MongoDB installed and running locally
Data seeding
- Get started quickly with pre-populated data: Populate your database with sample users, products, reviews, and carts, enabling you to test functionalities without manual data entry.
Steps:
- Open a new terminal window.
- Navigate to the
backend
directory:cd backend
- Run the seeding script:
npm run seed
( This script executes theseed.js
file within theseed
subdirectory equivalent to runningnode seed/seed.js
)
Running Development Servers
Important:
- Separate terminals: Run the commands in separate terminal windows or use
split terminal
to avoid conflicts. - Nodemon required: Ensure you have
nodemon
installed globally to run the backend development servers usingnpm run dev
. You can install it globally usingnpm install -g nodemon
.
Bonus
Don't forget to star the repository and share your feedback!✨