A complete full-stack e-commerce web application built for a wholesale handicraft business. The platform includes a customer-facing storefront, a secure admin dashboard, and a scalable backend API with authentication, orders, payments, and product management.
- Frontend (Customer Store) β Browse products, cart, checkout, orders
- Admin Panel β Product & order management
- Backend API β Authentication, payments, database logic
wholesale-full-stack/
βββ frontend/ β Customer-facing website (React + Tailwind)
βββ admin/ β Admin dashboard (React + Shadcn UI)
βββ backend/ β REST API (Node.js + Express + MongoDB)
- React.js (Vite)
- Tailwind CSS
- React Router DOM
- Axios
- Context API (Global State)
- React Toastify
- Razorpay / Stripe integration
- React.js (Vite)
- Tailwind CSS
- Shadcn/UI
- Radix UI
- Axios
- JWT Authentication
- Node.js
- Express.js
- MongoDB + Mongoose
- JWT Authentication
- Bcrypt (Password hashing)
- Cloudinary (Image uploads)
- Stripe (Payments)
- Razorpay (Payments)
- Multer (File handling)
- Validator.js
- JWT-based authentication
- Protected routes using middleware
- Password hashing with bcrypt
- Role-based access (Admin vs User)
- Secure token verification for all orders & payments
- User registration & login
- Profile page
- Cart management
- Secure checkout
- Order history
- Cash on Delivery (COD)
- Stripe payments
- Razorpay payments
- Product listing
- Product details
- Related products
- Search & filter
- Dynamic pricing
- Place orders
- Payment verification
- Order status tracking
- View past orders
- Admin status updates
- Admin authentication
- Add / update / delete products
- View all orders
- Update order status
- Dashboard overview
Frontend/Admin β Axios β Backend API β MongoDB
β
Auth Middleware (JWT)
β
Controllers & Models
- Single source of truth for authentication (
req.userId) - Clean separation of routes, controllers, models
- Scalable REST API design
PORT=4000
MONGODB_URI=your_mongodb_uri
JWT_SECRET=your_jwt_secret
ADMIN_EMAIL=admin@email.com
ADMIN_PASSWORD=admin_password
CLOUDINARY_CLOUD_NAME=xxxx
CLOUDINARY_API_KEY=xxxx
CLOUDINARY_API_SECRET=xxxx
STRIPE_SECRET_KEY=xxxx
RAZORPAY_KEY_ID=xxxx
RAZORPAY_KEY_SECRET=xxxxgit clone https://github.com/yourusername/wholesale-full-stack.git
cd wholesale-full-stackcd backend
npm install
npm startBackend runs on:
http://localhost:4000
cd frontend
npm install
npm run devFrontend runs on:
http://localhost:5173
cd admin
npm install
npm run devAdmin runs on:
http://localhost:5174 (or next available port)
POST /api/user/register
POST /api/user/login
GET /api/user/profile
GET /api/product/list
POST /api/product/add
DELETE /api/product/remove
POST /api/order/place
POST /api/order/razorpay
POST /api/order/stripe
POST /api/order/userorders
- β Cash on Delivery
- β Stripe (Card payments)
- β Razorpay (India-focused gateway)
All payments are verified server-side before confirming orders.
- Backend supports Vercel / Render / Railway
- Frontend & Admin ready for Vercel / Netlify
- Environment-based configuration
- Production-safe authentication flow
- Wishlist
- Product reviews & ratings
- Invoice PDF generation
- Order cancellation & returns
- Email notifications
- Refresh token authentication
- Analytics dashboard
Satinder Singh Sall Full-Stack Web Developer π§ satindersinghsall111@gmail.com
This project follows real-world production patterns:
- Secure JWT auth
- Clean MVC backend
- Modern React architecture
- Scalable payment handling