Live - https://themecrafter.ompharate.tech/
Github repo - https://github.com/ompharate/themecrafter
What is themecrafter?
ThemeCrafter is a platform where users can browse, purchase, and download premium website themes. Built with the MERN stack and integrated with Razorpay, it offers secure payments and theme management features.
Key Features
- Theme Purchase: Users can browse a collection of themes, view their details, and purchase them using Razorpay for secure payments.
- Theme Search: Users can search themes by categories, popularity, or keywords.
- User Authentication: Users can create an account, login, and logout using clerk authentication
- Razorpay Integration: Secure payment gateway for purchasing themes.
- Admin Panel: Admins can add, remove, and manage themes and monitor user transactions.
Technologies Used
- Frontend: React, React Router, Axios , redux toolkit
- Backend: Node.js, Express
- Database: MongoDB
- Payment Gateway: Razorpay
- Storage : AWS S3
- Authentication: Clerk for secure user login/logout
- Deployment: Vercel
System Design
Traffic and Request Estimation
Users: 100,000 DAU
Estimated requests per user per day: Assuming an average of 5 page views per user per day
(100,000 * 5) = 500,000 requests per day
Transactions: 1,000 daily transactions
Storage Estimation
100 themes, with each theme weighing 50 MB.
- Storage Required: 5 average themes upload every day of 50MB
- (50 * 5 ) 250MB = 250MB * 30 * 12 = avg 90GB each year.
Database Schema
Possible system design for themecrafter to handle 100k daily active users