MultiDeal, a multivendor E-commerce platform (project) powered with MERN stack, is all in one online shopping place where customers can buy various products from different vendors/shops. It's supposed to act as a central sales hub for shop owners/vendors in which they can easily showcase their products to their clients digitally & in a more convenient way.
While crafting this project, I've used the following cutting-edge technologies to enhance my development experience.
-
Forntend: React/Next Js, Redux Toolkit, Tailwind CSS, Ant Design
-
Backend: Node Js, Express Js, Multer
-
Database: MongoDB, Mongoose ODM
-
Authentication: JWT (JSON Web Tokens), bcrypt (Password Hashing)
Here is my ideal roadmap & features checklist for completing this project in a more organized and efficient way.
(1) Design
-
I. Brand identity/color scheme & typography
- project name
- Primary & accent colors
- Fonts and typo
-
II. Design key elements
- Logo
- Buttons
- Forms
- wireframes and mockups
- Flowchart / Diagram
-
III. UI & Layout
- Header
- Navigation bar
- Hero section
- Main content area
- Sidebar
- Footer
(2) Development
-
I. Structure, Pages & navigation
- Home page
- Login/signup pages
- vendor/ shop listing form
- Shopping cart
- Wishlist
- Product listing pages
- Product detail pages
- product categories
- Checkout process
- User account pages
-
II. Extra features & functionality:
- Product add by admin
- Add/delete items in cart
- Add/Delete items in a wishlist
- Product search functionality
- product listing & deleting
- Filtering & sorting by price, brand etc.
- proceed to checkout
- user rating & feedback
- Order tracking
- Basic server setup & connect DB
- set users types & roles [Customers, vendor, admin]
- User password hashing
- Implement JWT-based authentication
- Define entities [vendors, products, orders, customers, admin]
- MongoDB collections for diff. entities
- Use Express.js for routing and middleware
- Develop RESTful API endpoints
- User authentication with MongoDB
- Validate user credentials using MongoDB queries
- Backend Error handling
- Implement access control, user authentication & encryption
- Integrate Payment gateways (Optional)
(3) Demonstration (Testing)
- Perform unit tests for individual code components.
- RESTful API endpoints testing for accuracy and reliability.
- Verify JWT-based authentication functionality.
- Ensure user roles and access control are working correctly.
- Ensure compatibility across various devices and screen sizes.
- Document the testing process and results.
(4) Deployment
- Prepare the deployment environment.
- Configure server settings and security.
- Deploy the latest stable code version to the chosen platform.
- Set up a continuous integration/continuous deployment (CI/CD) pipeline.
Screenshots of some sample pages of this project are listed below.
This is an example of how you can gon set up this project locally. To get a local copy up and running follow these simple example steps.
This is an example of how to list things you need to use the software and how to install them.
- npm
npm install npm@latest -g
Below is a required step you need to follow to on install and set up this app.
- Clone the repo
git clone https://github.com/trulysaroj/Multideal
- Install NPM packages
npm install
To run this project, you will need to add the following environment variables to your .env file
PORT= XXXX (Your port)
SECRET_KEY= XXXXXXXXX (Your secret JWT custom key)
Once the installation and setup steps are complete, you can run the project using the following command:
For running client side:
cd client
npm run dev
For running server-side side:
cd server
npm run dev
Have any doubts/queries & feedback regarding this project?
Leave your message here 👇
📩 Email: sarojt7475@gmail.com
💼 Linkedin: https://www.linkedin.com/in/trulysaroj/