Skip to content

Meesho Clone - Creating a fullstack architechture similar to meesho (Work under going)

Notifications You must be signed in to change notification settings

rahulkumarparida/MeeshoClone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

42 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›οΈ MeeshoClone β€” Full Stack E-Commerce Application

πŸ“Œ Project Overview

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.


βš™οΈ Tech Stack

Backend

  • Python
  • Django
  • Django REST Framework (DRF)
  • PostgreSQL

Frontend

  • React.js (Single Page Application)
  • Tailwind CSS

Additional Services & Tools

  • 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

✨ Key Features

This application includes all major e-commerce functionalities:


πŸ‘€ Authentication & Roles

  • 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.

πŸ›’ Customer Features

  • Browse products by category
  • View product details
  • Add/remove items from cart
  • Checkout and place orders
  • Receive confirmation emails
  • Get PDF invoices after ordering

πŸͺ Seller Features

  • Add new products
  • Edit or delete existing products
  • View incoming customer orders
  • Manage their product listings

πŸ“¦ Order & Invoice System

When a customer completes checkout:

  1. An order is created in the database
  2. Payment is processed through Razorpay (test mode)
  3. Confirmation email is sent
  4. PDF invoice is generated asynchronously

Celery and Redis handle invoice generation and email sending in the background for better performance.


πŸ“‚ Project Structure

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.md

🌍 Live Deployment

The project is deployed online and accessible here:

πŸ”— https://meesho-clone-pink.vercel.app


πŸš€ Getting Started (Local Setup)

Follow these steps to run the project locally.


πŸ”½ Clone the Repository

git clone https://github.com/rahulkumarparida/MeeshoClone.git
cd MeeshoClone

πŸ–₯️ Backend Setup

1. Install Dependencies

Create a virtual environment and install requirements:

pip install -r Backend/requirements.txt

2. Configure PostgreSQL Database

Set up a PostgreSQL database and update the credentials inside settings.py.

3. Run Migrations

python manage.py migrate

4. Create Superuser (Optional)

python manage.py createsuperuser

5. Start Redis & Celery Worker

Make sure Redis is running, then start Celery:

celery -A <project_name> worker --loglevel=info

6. Run Django Server

python manage.py runserver

Backend will run at:

http://localhost:8000

🌐 Frontend Setup

1. Navigate to Frontend Folder

cd Frontend

2. Install Node Dependencies

npm install

3. Start React Development Server

npm start

Frontend will run at:

http://localhost:3000

πŸ”— API Routes (Expected Structure)

Some standard REST endpoints used in the project include:

Authentication

  • POST /api/auth/register/
  • POST /api/auth/login/

Products

  • GET /api/products/
  • POST /api/products/ (seller only)
  • GET /api/products/<id>/

Categories

  • GET /api/categories/

Cart

  • GET /api/cart/
  • POST /api/cart/add/
  • DELETE /api/cart/remove/

Orders

  • POST /api/orders/
  • GET /api/orders/<id>/

Payments

  • POST /api/payments/verify/

(Exact routes can be confirmed inside the backend code.)


🌍 Deployment β€” MeeshoClone

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.


πŸ—„οΈ Database (PostgreSQL) β€” Supabase

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

βš™οΈ Backend API β€” Render

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


🎨 Frontend β€” Vercel

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/)


πŸ”— Deployment Architecture

The overall deployed system works like this:


Frontend (Vercel)
|
|  API Requests
v
Backend (Render)
|
|  Database Queries
v
Database (Supabase PostgreSQL)


βœ… Hosting Summary

Layer Platform
Frontend Vercel
Backend Render
Database Supabase

⭐ Note

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.



🎯 Conclusion

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.

About

Meesho Clone - Creating a fullstack architechture similar to meesho (Work under going)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors