Marketplace - System design
Functional Requirements
- Merchants
- Operations
- Upload products
- Sell products
- Digital or physical products?
- Inventory?
- Physical products with limited inventory
- Merchant registration
- What data?
- Any physical person companies only?
- Refunds and return policies? Out of scope for now?
- What info the merchant needs to upload about the product?
- Title
- Description
- Categories
- Image
- Videos
- What info the platform needs to provide to the merchant about the sales?
- Needs a product management system (webapp)
- Sign up
- Create new, update products
- Analytics
- Real-time page visitors
- Historical trends
- Buyers
- Browse products
- Search products
- Buy products
- Products
- Product reviews?
- Search capabilities
- Seach by title, category, description
- Platform
- Browser-based
Non-functional Requirements
- Total customers
- 200M
- Daily users
- 50M /day
- Geographic distribution
- Worldwide
User Flow
- Merchant signs up
- Merchant logs in
- Merchant creates an ad with description, picture, etc
- Merchant manages the ad, edits, and looks
- Merchant sees selling insights/analytics
- Buyers logs in
- Buyers sees the frontpage and sees the available products
- Buyers searches an item by its title
- Buyer adds the item to the cart
- Buyers checkouts and sees the buying summary
- Buyers confirms shipping & billing information
- Buyers confirms
- Platform will record the order and update inventory
- Platform will bill the user
- Platform sends a email confirmation to the user