Archicise
Exercise

Design a GraphQL API for E-commerce

Design a GraphQL API for an e-commerce platform with products, orders, cart, and checkout functionality.

Functional Requirements

  • Product catalog with variants
  • Shopping cart management
  • Checkout and payment flow
  • Order history and tracking
  • Inventory availability
  • Promotions and discounts

Non-Functional Requirements

  • Handle complex product queries efficiently
  • Strong consistency for checkout
  • Query depth and complexity limits
  • Caching for product data
  • Mobile-optimized responses

Questions to Consider

  • How do you model product variants in GraphQL?
  • What mutation design handles multi-step checkout?
  • How do you optimize for mobile clients?
Your Solution

Product Schema Design

Design product types with variants, options, and pricing. Consider inheritance patterns, variant combinations, and inventory modeling.