The Meesho Clone is a comprehensive e-commerce platform designed to replicate the features and functionality of Meesho. This application empowers users to browse, buy, and sell products effortlessly. It includes features like product listing, order management, social sharing for resellers, and secure payment integration.
- User Roles:
- Buyers: Browse and purchase products.
- Sellers: List products and manage orders.
- Product Management:
- Add, edit, and delete products.
- Categorize products for better discoverability.
- Order Management:
- Track orders with detailed statuses.
- Easy returns and refunds.
- Social Sharing for Resellers:
- Share products on social media platforms.
- Generate reseller commissions on sales.
- Secure Payments:
- Integrated payment gateways (Razorpay, PayPal, etc.).
- Cash-on-delivery support.
- Discounts and Offers:
- Coupons, bulk discounts, and referral bonuses.
- Mobile-Responsive Design: Optimized for smartphones, tablets, and desktops.
- Customer Support: In-app chat and ticketing system.
- Frontend: ReactJS, Redux Toolkit, TailwindCSS
- Backend: Node.js, Express.js
- Database: MongoDB
- Authentication: Firebase Authentication, JSON Web Tokens (JWT)
- Payments: Razorpay SDK, PayPal API
- Cloud Services: AWS S3 for image hosting
- Node.js (v14 or above)
- MongoDB (local or cloud instance)
- npm or yarn
-
Clone the repository:
git clone https://github.com/username/meesho-clone.git cd meesho-clone
-
Install dependencies for both frontend and backend:
cd client npm install cd ../server npm install
-
Set up environment variables: Create a
.env
file in theserver
directory with the following:MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret RAZORPAY_KEY_ID=your_razorpay_key_id RAZORPAY_KEY_SECRET=your_razorpay_key_secret AWS_ACCESS_KEY=your_aws_access_key AWS_SECRET_KEY=your_aws_secret_key
-
Start the development servers:
# Start backend server cd server npm run dev # Start frontend server cd ../client npm start
-
Open your browser and navigate to
http://localhost:3000
to access the app.
meesho-clone/
├── client/ # ReactJS frontend
│ ├── src/
│ │ ├── components/ # Reusable components
│ │ ├── pages/ # Application pages
│ │ ├── hooks/ # Custom hooks
│ │ └── utils/ # Utility functions
│ ├── public/ # Public assets
│ └── package.json # Frontend dependencies
├── server/ # Node.js backend
│ ├── models/ # Database models
│ ├── routes/ # API routes
│ ├── controllers/ # Business logic
│ ├── middleware/ # Express middleware
│ └── package.json # Backend dependencies
├── README.md # Project documentation
└── .gitignore # Ignored files and folders
- POST
/api/auth/register
- Register a new user - POST
/api/auth/login
- Login user
- GET
/api/products
- Fetch all products - POST
/api/products
- Add a new product (seller only) - PUT
/api/products/:id
- Update a product (seller only) - DELETE
/api/products/:id
- Delete a product (seller only)
- GET
/api/orders
- Fetch all orders (buyer or seller specific) - POST
/api/orders
- Place a new order - PUT
/api/orders/:id
- Update order status - DELETE
/api/orders/:id
- Cancel an order
- POST
/api/payments
- Initiate payment - GET
/api/payments/status
- Check payment status
- GET
/api/resellers/commissions
- Fetch reseller commissions
-
Fork the repository and create your branch:
git checkout -b feature/your-feature
-
Commit your changes:
git commit -m "Add your message"
-
Push to the branch:
git push origin feature/your-feature
-
Open a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.
For queries or issues, please contact:
- Md Jasim Ansari