Design: Order Management System
Design the domain model focusing on aggregates and entities for order management. Include microservice boundaries and data consistency approach. Out of scope: payment processing, shipping logistics.
Functional Requirements
FR1: Allow customers to create and manage orders
FR2: Each order contains multiple items with quantity and price
FR3: Support updating order status (e.g., pending, shipped, delivered)
FR4: Ensure data consistency within orders and their items
FR5: Allow querying orders by customer and status
Non-Functional Requirements
NFR1: Handle 1000 concurrent order creations per minute
NFR2: API response time p99 < 300ms
NFR3: System availability 99.9%
NFR4: Data consistency within an order must be strong