Skip to content

PustamRai/dokan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

135 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ›๏ธ Dokan E-Commerce Management System (MERN Stack)

๐Ÿ“Œ Overview

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.

๐Ÿš€ Tech Stack

  • Frontend: React, Tailwind CSS, React Router
  • Backend: Node.js, Express.js, MongoDB, Mongoose
  • Authentication: JWT, React Context API
  • Image Upload: Multer + Cloudinary

๐Ÿ“‚ Folder Structure

๐Ÿ“ฆ backend

๐Ÿ“ฆ 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

๐Ÿ“ฆ 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 

2๏ธโƒฃ Backend Setup

cd backend
npm install

๐Ÿ” 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

npm run start

3๏ธโƒฃ Frontend Setup

cd client
npm install

โ–ถ๏ธ Start Frontend (Vite)

npm run dev

โšก Features

๐Ÿ‘ค User Side

  • Register / Login
  • View all products
  • Filter by category
  • Add items to cart
  • Place orders
  • Track order status

๐Ÿ› ๏ธ Admin Panel

  • Add
  • Manage orders
  • Update order status
  • Dashboard overview

๐Ÿ“ธ Image Uploads

  • Upload product images using Multer
  • Images are stored in Cloudinary

๐Ÿ”— API Endpoints

๐Ÿ”‘ Admin Routes

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

๐Ÿ›๏ธ Product Routes

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

๐Ÿ›’ Cart Routes

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

๐Ÿ“ฆ Order Routes

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)

๐ŸŽจ UI Highlights

  • ๐Ÿ’ก Clean, responsive UI (Tailwind CSS)
  • ๐Ÿ—‚๏ธ Organized structure
  • โœ… Intuitive user and admin experiences
  • ๐Ÿ” Product filters and search
  • ๐Ÿ“Š Admin order/product management panel

๐Ÿ”ฎ Future Enhancements

  • ๐Ÿ” Role-based dashboards
  • ๐Ÿ’ธ Payment integration
  • ๐ŸŒ SEO optimization
  • ๐Ÿ’ฌ Product reviews and ratings

๐Ÿค Connect with Me

If you found this project useful, feel free to connect:

About

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages