MeeshoClone is a full-stack e-commerce marketplace application inspired by the Indian platform Meesho.
I built this project to replicate a real-world full-stack architecture where both sellers and customers have separate roles and functionalities.
The platform allows:
- Sellers to list products and manage orders
- Customers to browse products, manage their cart, and place orders
This project focuses on building a scalable marketplace system similar to Meesho.
- Python
- Django
- Django REST Framework (DRF)
- PostgreSQL
- React.js (Single Page Application)
- Tailwind CSS
- Celery + Redis β Background tasks & caching
- WeasyPrint β PDF invoice generation
- Mailtrap β Email testing service
- Razorpay (Test Mode) β Payment gateway integration
The repository mainly contains:
- JavaScript (~61%) β React frontend
- Python (~37%) β Django backend
This application includes all major e-commerce functionalities:
- User registration and login
- Two separate roles:
- Customer
- Seller
- Role-based access control is applied so sellers and customers only see what they are allowed to.
- Browse products by category
- View product details
- Add/remove items from cart
- Checkout and place orders
- Receive confirmation emails
- Get PDF invoices after ordering
- Add new products
- Edit or delete existing products
- View incoming customer orders
- Manage their product listings
When a customer completes checkout:
- An order is created in the database
- Payment is processed through Razorpay (test mode)
- Confirmation email is sent
- PDF invoice is generated asynchronously
Celery and Redis handle invoice generation and email sending in the background for better performance.
The repository is divided into two main parts:
MeeshoClone/
β
βββ Backend/ # Django + DRF server
β βββ users/
β βββ products/
β βββ carts/
β βββ orders/
β βββ payments/
β βββ ...
β
βββ Frontend/ # React + Tailwind client
β βββ src/
β βββ components/
β βββ pages/
β βββ services/
β
βββ README.mdThe project is deployed online and accessible here:
π https://meesho-clone-pink.vercel.app
Follow these steps to run the project locally.
git clone https://github.com/rahulkumarparida/MeeshoClone.git
cd MeeshoCloneCreate a virtual environment and install requirements:
pip install -r Backend/requirements.txtSet up a PostgreSQL database and update the credentials inside settings.py.
python manage.py migratepython manage.py createsuperuserMake sure Redis is running, then start Celery:
celery -A <project_name> worker --loglevel=infopython manage.py runserverBackend will run at:
http://localhost:8000
cd Frontendnpm installnpm startFrontend will run at:
http://localhost:3000
Some standard REST endpoints used in the project include:
- POST
/api/auth/register/ - POST
/api/auth/login/
- GET
/api/products/ - POST
/api/products/(seller only) - GET
/api/products/<id>/
- GET
/api/categories/
- GET
/api/cart/ - POST
/api/cart/add/ - DELETE
/api/cart/remove/
- POST
/api/orders/ - GET
/api/orders/<id>/
- POST
/api/payments/verify/
(Exact routes can be confirmed inside the backend code.)
My Meesho Clone project is fully deployed using modern cloud platforms.
Each layer of the application (Frontend, Backend, Database) is hosted separately to follow a real-world production architecture.
For storing all persistent data, I am using PostgreSQL hosted on Supabase.
Supabase provides a fully managed and scalable cloud database with an easy dashboard.
Platform: Supabase
Service Includes:
- PostgreSQL Database
- Cloud Hosting
- Dashboard Access
- Connection Pooling
This database stores:
- Users (Customers & Sellers)
- Products & Categories
- Cart Items
- Orders & Payments
The backend of this project is built with Django REST Framework and deployed on Render.
Render serves all REST API endpoints and also supports background task execution using Celery + Redis.
Platform: Render
Tech Stack:
- Django REST Framework
- Celery Worker Integration
- Redis for background jobs and caching
The backend handles:
- Authentication (Customer/Seller roles)
- Product, Cart, and Orders APIs
- Payment gateway testing integration
- Background tasks (PDF invoices + Email sending)
Backend Base URL:
https://meeshoclone-api.onrender.com
The frontend is a React.js single-page application styled with Tailwind CSS.
It is deployed on Vercel, which provides fast global hosting.
Platform: Vercel
Tech Stack:
- React.js
- Tailwind CSS
The frontend provides:
- Customer shopping experience
- Seller dashboard interface
- Cart and checkout flow
- API integration with the Render backend
Frontend Live Link:
[https://meesho-clone-pink.vercel.app/](https://meesho-clone-pink.vercel.app/)
The overall deployed system works like this:
Frontend (Vercel)
|
| API Requests
v
Backend (Render)
|
| Database Queries
v
Database (Supabase PostgreSQL)
| Layer | Platform |
|---|---|
| Frontend | Vercel |
| Backend | Render |
| Database | Supabase |
Since Render free-tier services may spin down when inactive, the first API request after some time can take a few seconds due to cold start. The Only limitation is the hardware it is deployed on the servers are too far from each other so the communication takes a bit of a time but will give you response a little later than expected.
MeeshoClone is a complete full-stack marketplace project where I implemented:
- Role-based seller/customer system
- Product, cart, order management
- Caching and Background Task for better task handling
- Payment gateway integration
- Invoice + email automation using Celery
- Modern frontend UI with React + Tailwind
This project helped me understand how real e-commerce platforms work end-to-end. Helped me understand that you need to add a lot of services to create a small shopping app. This project helped me understand how real e-commerce platforms work end-to-end. Helped me understand that you need to add a lot of services to create a small shopping app.