Built a MERN Marketplace enabling users to become sellers, manage shops, and list products for sale. Visitors can search, browse, and add items to their cart for purchasing. Implemented secure non-volatile messaging, JWT authentication, and email verification for communication between sellers and buyers. Integrated Stripe and Paypal payment for seamless transactions.
Frontend:
Backend:
Realtime Communication:
package manager
- Show Error: Toastify
- Data Fetch from Backent: axios
- Icons: react-icons
- Payment stripe: Strip
- Payment Paypal: Strip
- Store Date in Cookes: js-cookie
- Sand maill to User,seller,Admin: nodemailer
- Store Img in Local Dev: multer
-
User Authentication Pages πͺ
- User Signup π
- email verification
- upload a Profile image
- User Login π
- User Signup π
-
Home Page π
- View all product uploads by seller π
- filter with the category π
- Best-selling product (Sort by Sold_out data) π
- All Product π¦
- All Event's π
- FAQ π
-
Filters for Sorting Posts ποΈ
- Sort posts by Clothes, Shows, gifts, etc...
-
User Search Bar π
- Search for product π
- Click on a user to go to the Product details page π€
-
wish list β€οΈ
- store in cart π
-
Add to cart π
- Check out for payment π³
- we have 3 payment systems Pay-pal,Strip,Cash of Delivery (COD)
- Check out for payment π³
-
Apply Coupon Code for Discount ππ₯
-
Product Explore Page π
- View Product from another seller π
- View reviews from other users β
- The eye button shows Product Details π
- Original Price and discount price π΅
- How Many Buy this product π€
- Inc and Dec product π +
- Show Description of product π
- View Seller Profile π₯
- Chatting with Seller π¬
- Show Seller Information π
- Show Related Products π
- Add to wish list β€οΈ
- Add to Cart π
-
User Profile Page π€
- Edit your profile details - profile photo, name, email, phone number βοΈ
- change Password π
- View All Order π¨πΎβπ».
- After Delivery of the product user can Refund the product. π
- User inbox Chat with the seller. βοΈ
- Use can Track Orders. π€οΈ
- Store 3 Address Details. Like Default, Home, office. π«
- Only Admin show Admin Dashboard π
- Logout π
- Create a Review After Delivery Product π
- After the Buy product is Sold out is increased. and Stock decrease in DB.
-
Message βοΈ
- Sand Image πΌοΈ
- Show active or not π’
- Time of sand Message β°
-
Popular Events π₯
- Show Recent Events
-
Responsive π±
- All screens are responsive
-
Alerts π¨
- Alerts in the app to notify users about success/failure operations
-
Seller Authentication Pages πͺ
- Seller Sign up π
- shop name, Phone Number, Email address, Address,Zip Code, Password β
- upload a Profile image π·
- email verification β
- Seller Login π
- Seller Sign up π
-
Seller Dashboard π¨π»βπ§
- Overview of a Product and Latest Orders ποΈ
- Account Balance (with 10% service charge) π°
-
All Orders β
- Seller Update Product Delivery status π
- Create Products βοΈ
- name*
- Description *
- Category * like:- Computer and Laptops, Cosmetics and body care, Accessories, clothes,Shoes, Gifts, Pet Care, Mobile and Tablets, Music and Gaming, Other π§©
- All product π»
- Seller can delete Product β
- View all Products π¦
-
Create an Event π₯π
- name* π
- Description *
- Category * like:- Computer and Laptops, Cosmetics and body care,Accessories, Clothes, Shoes,Gifts, Pet Care, Mobile and Tablets, Music and Gaming, Other
- Tags
- Original Price
- Price (With Discount) *
- Product Stock *
- Event Start Date * β
- Event End Date * (Default 3 days) β
- Upload multiple Images * π·
-
All Event π
- Show Event π₯
- Delete Event β
-
Withdraw Money π₯
- Add Bank Details ποΈ
- Not withdraw the highest amount of Balance π±
- Sand mail to sell with amount π©
- Delete Bank Details πͺ§
-
Shop Inbox π
- All Messages π¬
- Sand Image to user πΌοΈ
- Show Active function π’
-
Discount Codes ποΈ
- Create coupon code π±
- Delete coupon code π
- apply all Products of the shop π€©
- Can apply the specific product 1οΈβ£βοΈ
-
Refunds π
- Seller can update the Status of the Product π
-
Settings β
- update Images, Shop Address, Shop Phone Number, Shop Zip Code β
- Add Shop description π
-
Shop Dashboard π°
- Shop Products π
- Running Events πͺ
- Shop Reviews β
- Log out βͺοΈ
-
Admin Authentication Pages (normal user in DB roll in Admin) πͺ
- Admin Sign up π
- Admin Login π
- Overview π - Total Earning π€ - All Sellers π¨βπ§ - All Orders ποΈ - Latest Orders π’
- Show All Orders of Seller's ποΈ
- Show All sellers and Delete β
- Show All users and Delete π¨βπ©βπ¦βπ¦ β
- All Products in DB. π¨π»βπ»
- All Events of Seller π’
- verify Seller Withdraw request and Sand mail to update's π§
- if Delete images it also deletes from the local devise
< | |
Mobile View | Desktop View |
---|---|
π Introducing MERN Marketplace: A Revolutionary Multi-Vendor Website π
π Dear LinkedIn Network, I am thrilled to announce the completion of my latest project, the MERN Marketplace! π This dynamic platform brings together buyers and sellers, offering a seamless online shopping experience with a plethora of innovative features.
π‘ Key Technologies: Front-End:
React 18:- user interface
React Router: client-side routing
Redux: Employing Redux for state management, ensuring centralized data handling and seamless interactions between components.
Tailwind CSS: Leveraging the power of Tailwind CSS for streamlined and responsive UI design, enabling rapid development and customization.
Material-UI: Integrating Material-UI components to enhance the visual appeal and usability of the website.
Back-End:
Node.js: Utilizing Node.js as the server-side runtime environment to build scalable and efficient backend services.
Express.js: Harnessing the power of Express.js, a fast and minimalist web application framework, to handle routing and middleware.
JWT (JSON Web Tokens): Implementing JWT-based authentication for secure and stateless user sessions.
MongoDB: Leveraging MongoDB, a NoSQL database, for efficient data storage and retrieval, enabling seamless scalability.
Real-time Communication: Utilizing Socket.io to enable real-time communication between buyers, sellers, and the application server.
Yarn: Employing Yarn as the package manager to manage project dependencies efficiently.
Image Upload with Multer: Integrating Multer middleware to handle image uploads, ensuring seamless storage and retrieval of product images.
Email Communication with Nodemailer: Implementing Nodemailer to facilitate email communication, including email verification and notifications.
π‘ Key Features: 1οΈβ£ User Authentication Pages πͺ
User Sign up: Enable users to create accounts, complete with email verification and the option to upload a profile image.
User Login: Secure login functionality to protect user accounts.
2οΈβ£ Home Page π
View Seller Products: Showcase all product uploads by sellers, allowing users to browse and explore various offerings.
Category Filters: Implement filters to help users narrow down their search by selecting specific product categories.
Best-Selling Products: Highlight popular products based on the number of units sold, aiding users in making informed decisions.
Events Section: Display all upcoming events, fostering engagement and excitement among users.
Frequently Asked Questions (FAQ): Provide a dedicated section to address common user queries.
3οΈβ£ Filters for Sorting Posts ποΈ
Sort by Category: Enable users to filter posts by different categories, such as clothes, shoes, gifts, and more.
4οΈβ£ User Search Bar π
Search Functionality: Implement a robust search feature, allowing users to search for specific products or click on user profiles to view their offerings.
5οΈβ£ Wishlist and Cart Management β€οΈπ
Wishlist: Enable users to add products to their wishlist, saving them for future reference.
Add to Cart: Provide a seamless shopping experience by allowing users to add products to their cart for purchase.
Checkout and Payment: Implement a secure payment system, supporting PayPal, Stripe, and Cash on Delivery (COD) options.
Apply Coupon Code: Allow users to apply coupon codes for discounts during the checkout process.
6οΈβ£ Product Explore Page π
Detailed Product Information: Display product details, including original and discounted prices, descriptions, seller information, and related products.
Seller Interaction: Facilitate direct communication between users and sellers through chat functionality.
Reviews and Ratings: Showcase reviews and ratings from other users to help inform purchasing decisions.
7οΈβ£ User Profile Page π€
Profile Editing: Allow users to edit their profile details, including profile photos, names, email addresses, and phone numbers.
Order History: Provide users with an overview of all their previous orders, allowing them to track deliveries and request refunds if necessary.
Inbox and Chat: Enable users to communicate with sellers, fostering a seamless exchange of information.
Address Management: Allow users to store multiple addresses for efficient checkout, including default, home, and office options.
8οΈβ£ Seller Dashboard π¨π»βπ§
Product and Order Management: Provide sellers with an overview of their products and the latest orders, along with the ability to update delivery statuses.
Event Creation: Allow sellers to create and manage events, including details such as event name, description, category, dates, and images.
Shop Settings: This enables sellers to update their shop information, including images, addresses, phone numbers, and descriptions.
Inbox and Communication: Facilitate communication between sellers and users, ensuring a smooth exchange of information.
9οΈβ£ Admin Dashboard π
Admin Authentication: Implement secure login functionality for admins.
Overview and Analytics: Provide admins with an overview of total earnings, all sellers, all orders, and the latest orders.
Seller and User Management: Enable admins to manage sellers and users, including the ability to delete accounts if necessary.
Product and Event Management: Allow admins to view all products and events in the database, facilitating efficient management.
Withdrawal Management: Provide admins with the ability to verify seller withdrawal requests, update balances, and send email notifications.
Image Management: Enable admins to delete images, ensuring data integrity and storage optimization.
π With the power of these cutting-edge technologies, the MERN Marketplace delivers a robust and feature-rich multi-vendor website. It ensures a seamless user experience, efficient data management, real-time communication, and secure transactions. Join me in revolutionizing the e-commerce experience by connecting buyers and sellers in a dynamic and user-friendly environment.
Feel free to reach out to me for more information or to explore collaboration opportunities.
#MERNMarketplace #E commerce #React #NodeJS #ExpressJS #MongoDB #SocketIO #TailwindCSS #MaterialUI #Innovation #OnlineShopping #RevolutionizingRetail
This project does not have a mongoDB connection setup. Set up the connection based on the environments below.
- local development: create a config folder (make sure to name it .env) in the config folder, which exports your db.uri connection.
- (make new folder
uploads
) in the backend.
-
-
- Admin
- cart
- Checkout
- Events
- layout
- Logout
- Payment
- Products
- Profile
- Route
- Shop
- Sign up
- Wishlist
-
- Shop
-
- action
- reducer
- .env
- index.js
- package.json
π» How to run the app locally! π
git clone https://github.com/SahilMund/Ecommerce-Shopify.git
cd frontend
yarn install
yarn start
cd backend
yarn install
- create folder
uploads
- create
confilg
folder and a.env
file - use your Cradincial in.env file
PORT = 8000
DB_URL = ""
JWT_SECRET_KEY = ""
JWT_EXPIRES = 7d
ACTIVATION_SECRET =
SMPT_HOST = 'smtp.gmail.com'
SMPT_PORT = 465
SMPT_PASSWORD =
SMPT_MAIL =
STRIPE_API_KEY =
STRIPE_SECRET_KEY =
yarn start
cd socket
yarn install
- create a
.env
file
PORT = 4000
yarn start