๐๏ธ Dokan E-Commerce Management System (MERN Stack)
This is a full-fledged E-Commerce Web Application built using the MERN Stack (MongoDB, Express, React, Node.js). It provides a seamless experience for both customers and admins , featuring product listings, cart management, order tracking, and image uploads to Cloudinary via Multer.
Frontend : React, Tailwind CSS, React Router
Backend : Node.js, Express.js, MongoDB, Mongoose
Authentication : JWT, React Context API
Image Upload : Multer + Cloudinary
๐ฆ backend
โโโ ๐ config
โ โโโ db.js
โโโ ๐ controllers
โ โโโ admin.controllers.js
โ โโโ cart.controllers.js
โ โโโ order.controllers.js
โ โโโ product.controllers.js
โ โโโ user.controllers.js
โโโ ๐ middleware
โ โโโ adminAuth.middlewares.js
โ โโโ auth.middlewares.js
โ โโโ multer.middlewares.js
โโโ ๐ models
โ โโโ product.models.js
โ โโโ user.models.js
โ โโโ order.models.js
โโโ ๐ routes
โ โโโ admin.routes.js
โ โโโ cart.routes.js
โ โโโ product.routes.js
โ โโโ order.routes.js
โ โโโ user.routes.js
โโโ ๐ utils
โ โโโ cloudinary.js
โโโ .env
โโโ server.js # App entry point
๐ฆ frontend
โโโ ๐ public
โโโ ๐ src
โ โโโ ๐ admin
โ โ โโโ components
โ โ โโโ layout
โ โ โโโ pages
โ โ โโโ index.jsx
โ โโโ ๐ api
โ โโโ ๐ assets
โ โโโ ๐ components
โ โโโ ๐ context
โ โ โโโ authContext.js
โ โ โโโ cartContext.js
โ โ โโโ productContext.js
โ โโโ ๐ pages
โ โโโ App.jsx
โ โโโ main.jsx
โ โโโ index.css
โ โโโ env
๐ ๏ธ Setup & Installation
1๏ธโฃ Clone the Repository
git clone https://github.com/PustamRai/dokan.git
๐ Environment Variables (.env in /backend)
PORT=5000
MONGODB_URI=your_mongodb_uri
JWT_SECRET=your_jwt_secret
CLOUDINARY_CLOUD_NAME=your_cloudinary_name
CLOUDINARY_API_KEY=your_cloudinary_api_key
CLOUDINARY_API_SECRET=your_cloudinary_api_secret
ADMIN_EMAIL=admin_email
ADMIN_PASSWORD=admin_password
โถ๏ธ Start Backend Server
โถ๏ธ Start Frontend (Vite)
Register / Login
View all products
Filter by category
Add items to cart
Place orders
Track order status
Add
Manage orders
Update order status
Dashboard overview
Upload product images using Multer
Images are stored in Cloudinary
Method
Endpoint
Description
POST
/api/admin/login
Login admin
GET
/api/admin/dashboard
dashboard
GET
/api/admin/list
all order list
POST
/api/admin/order/:id/status
track order status
Method
Endpoint
Description
POST
/api/product/add
Add new product (Admin only)
GET
/api/product/list
Get all products
POST
/api/product/remove/:productId
remove product by ID
POST
/api/product/single/:productId
single product
Method
Endpoint
Description
POST
/api/cart/add
Add item to cart
GET
/api/cart/get
Get user cart
POST
/api/cart/update
update item from cart
Method
Endpoint
Description
POST
/api/order/place-order
Place an order
GET
/api/order/userorders
Get all orders
GET
/api/order-status/:id
Update order status (Admin)
๐ก Clean, responsive UI (Tailwind CSS)
๐๏ธ Organized structure
โ
Intuitive user and admin experiences
๐ Product filters and search
๐ Admin order/product management panel
๐ Role-based dashboards
๐ธ Payment integration
๐ SEO optimization
๐ฌ Product reviews and ratings
If you found this project useful, feel free to connect: