Functional
- Same as Amazon: catalog, cart, order, payment, logistics, returns.
- India-specific: UPI, Cash on Delivery, EMI, Plus subscription.
Non-functional
- 200M+ users; ~10× normal load during BBD sales.
- p99 product page < 300 ms.
- Strong consistency on payment & order.
Capacity (sale-day)
- Peak 100k orders/min for short windows.
- Catalog reads: many million/s.
- 1B+ cache reads/min.
Schema
- Mostly same as Amazon; emphasize Indian payment instruments.
payment_method(id, type, provider, last4, upi_handle).
Trade-offs
- COD = high RTO cost; algorithms predict & limit risk.
- Sale-day reservations: hold stock with TTL so abandoned carts don't tie up inventory.
- Heavy promo engine complicates pricing — keep deterministic rule evaluation order.
Refs
- Flipkart engineering blog (BBD scale, Ekart logistics, payment),
Myntra / Meesho engineering posts,
ByteByteGo "Design e-commerce".