42. Design E-commerce Cart and Checkout (Amazon / Flipkart)
1
The interview prompt2
42.1 What do you ask first?3
42.2 How big is this, really?4
42.3 What are the doors?5
42.4 What do we store?6
42.5 What does the whole system look like?7
42.6 How is the cart stored?8
42.7 How do you reserve inventory?9
42.8 How do you make order creation idempotent?10
42.9 How does the payment hand-off work?11
42.10 How does the checkout saga work?12
42.11 What would you say in the last five minutes?13
Score yourself14
Variations to practise15
Sources16
Code lab42. Design E-commerce Cart and Checkout (Amazon / Flipkart)
42.4 What do we store?
3 min read+10 XP
carts (key-value, by user_id or guest_id) items: {sku: qty, price_at_add}, updated_at
inventory (SQL, by sku + warehouse) available, reserved
reservations order_id, sku, warehouse, qty, expires_at
orders (SQL, sharded) order_id, user_id, state, total, idempotency_key (unique)
order_items order_id, sku, qty, price_paid
payments payment_id, order_id, provider_ref, state, amount
outbox order events to publish (Chapter 23)
Interviewer pushback:
- "Why store price_paid on order items?" → Prices change; the order must record what the customer actually agreed to pay, for refunds, invoices and disputes.
Memory code: "Cart by user, stock by warehouse, orders with a key that can't repeat."