Architecture overview
How Acme Inc's commerce platform is organised across domains, systems, services, messages, data stores and teams.
Acme Inc runs a commerce platform that takes a customer from product discovery through cart, checkout, payment, fulfilment, delivery and post-purchase feedback. The catalog is organised around business capabilities rather than deployment topology.
The main business domains are CatalogCatalogDomain•v1.0.0The Catalog domain owns everything about products — how they are created, maintained and made discoverable across Acme I...Ownerproduct-platformMapView docs, ShoppingShoppingDomain•v1.0.0The Shopping domain owns the customer's path to purchase — building a cart, applying promotions, and checking out. It co...Ownershopping-platformMapView docs, OrderingOrderingDomain•v1.0.0The Ordering domain turns a checked-out cart into a confirmed order. It orchestrates checkout — reserving inventory, aut...Ownerordering-platformMapView docs, PaymentsPaymentsDomain•v1.0.0The Payments domain takes payment for orders and processes refunds. It orchestrates authorization and capture through an...Ownerpayments-platformMapView docs, FulfilmentFulfilmentDomain•v1.0.0The Fulfilment domain gets a confirmed order to the customer. It reserves stock, picks and packs orders in the warehouse...Ownerfulfilment-platformMapView docs, CustomerCustomerDomain•v1.0.0The Customer domain owns who our customers are — how they register, how their profile is maintained, and how they are au...Ownercustomer-platformMapView docs and Reviews & RatingsReviews & RatingsDomain•v1.0.0The Reviews & Ratings domain owns customer feedback on products — how reviews are submitted, moderated, published and ag...Ownerreviews-platformMapView docs. Each domain owns the services, messages and data stores that support its business language.
Core checkout map
The checkout capability is the best compact view of how Acme’s platform is connected. It shows the orchestration boundary between cart checkout, inventory reservation, payment authorization and durable order creation.
Platform shape
| Area | Primary capability | Core systems |
|---|---|---|
| CatalogCatalogDomain•v1.0.0The Catalog domain owns everything about products — how they are created, maintained and made discoverable across Acme I...Ownerproduct-platformMapView docs | Product data and search | Product Catalog SystemProduct Catalog SystemSystem•v1.0.0Internal system that is the source of truth for product data. Owns the product database and publishes product change eve...Ownerproduct-platformMapView docs, Search SystemSearch SystemSystem•v1.0.0Internal system that keeps product data searchable. Consumes product change events from the Product Catalog System, main...Ownersearch-platformMapView docs |
| ShoppingShoppingDomain•v1.0.0The Shopping domain owns the customer's path to purchase — building a cart, applying promotions, and checking out. It co...Ownershopping-platformMapView docs | Cart and promotions | Cart SystemCart SystemSystem•v1.0.0Internal system that owns the customer's shopping cart and the checkout flow. It is the source of truth for cart content...Ownershopping-platformMapView docs, Promotion SystemPromotion SystemSystem•v1.0.0Internal system that calculates the discounts and promotions that apply to a cart. It owns promotion rules and returns c...Ownershopping-platformMapView docs |
| OrderingOrderingDomain•v1.0.0The Ordering domain turns a checked-out cart into a confirmed order. It orchestrates checkout — reserving inventory, aut...Ownerordering-platformMapView docs | Checkout and order lifecycle | Checkout SystemCheckout SystemSystem•v1.0.0Internal system that orchestrates checkout. When a cart is checked out it reserves inventory, authorizes payment, and as...Ownerordering-platformMapView docs, Order Management SystemOrder Management SystemSystem•v1.0.0Internal system that is the source of truth for orders. It creates orders, tracks their lifecycle, and publishes events ...Ownerordering-platformMapView docs |
| PaymentsPaymentsDomain•v1.0.0The Payments domain takes payment for orders and processes refunds. It orchestrates authorization and capture through an...Ownerpayments-platformMapView docs | Payment authorization, capture and refunds | Payment Processing SystemPayment Processing SystemSystem•v1.0.0Internal system that orchestrates payment for orders. It authorizes payments, requests charges from the external payment...Ownerpayments-platformMapView docs, StripeStripeSystem•v1.0.0External payment processor used by Acme Inc to charge cards and issue refunds. It receives payment and refund requests a...Ownerpayments-platformMapView docs, Fraud DetectionFraud DetectionSystem•v1.0.0External provider that screens payments for fraud. It consumes payment requests and returns a pass or fail verdict. Ownerpayments-platformMapView docs |
| FulfilmentFulfilmentDomain•v1.0.0The Fulfilment domain gets a confirmed order to the customer. It reserves stock, picks and packs orders in the warehouse...Ownerfulfilment-platformMapView docs | Stock, warehouse and shipment | Inventory SystemInventory SystemSystem•v1.0.0Internal system that tracks stock and reserves it for orders. It is the source of truth for available inventory and conf...Ownerfulfilment-platformMapView docs, Warehouse SystemWarehouse SystemSystem•v1.0.0Internal system that picks and packs orders in the warehouse. It reacts to completed orders, organises picking, and sign...Ownerfulfilment-platformMapView docs, Shipping SystemShipping SystemSystem•v1.0.0Internal system that hands packed orders to carriers. It reacts to ready-for-shipping orders and creates shipments with ...Ownerfulfilment-platformMapView docs, CarrierCarrierSystem•v1.0.0External carrier that delivers shipments to customers. It accepts shipment requests and reports delivery progress back. Ownerfulfilment-platformMapView docs |
| CustomerCustomerDomain•v1.0.0The Customer domain owns who our customers are — how they register, how their profile is maintained, and how they are au...Ownercustomer-platformMapView docs | Customer profile and authentication | Customer Management SystemCustomer Management SystemSystem•v1.0.0Internal system that is the source of truth for customer profile data. Owns the customer database and publishes customer...Ownercustomer-platformMapView docs, Identity ProviderIdentity ProviderSystem•v1.0.0The identity system that authenticates customers. It is the source of truth for credentials and login, verifies sign-in ...Ownercustomer-platformMapView docs |
| Reviews & RatingsReviews & RatingsDomain•v1.0.0The Reviews & Ratings domain owns customer feedback on products — how reviews are submitted, moderated, published and ag...Ownerreviews-platformMapView docs | Product feedback and ratings | Review APIReview APIService•v1.0.0 |
Architectural style
The platform is event-driven where state changes matter to another capability. Commands are used to request work from an owning capability, queries are used for explicit read access, and events announce facts that have already happened.
The most important chain is the order journey:
- Cart APICart APIService•v1.0.0
The public-facing API for shopping carts. Handles commands to add and remove items and to check out, and publishes an ev...Publishescart-checked-out, calculate-discountSubscribesadd-item-to-cart, remove-item-from-cart +1APIsOpenAPIOwnershopping-platformMapRepoView docs publishes Cart Checked OutCart Checked OutEvent•v1.0.0Published when a customer has checked out their cart. Ownershopping-platformSchemaMapView docs.
- Checkout OrchestratorCheckout OrchestratorService•v1.0.0
Runs the checkout saga. Reserves inventory, authorizes payment and creates the order, coordinating the steps that turn a...Publishesreserve-inventory, authorize-payment +1Ownerordering-platformMapRepoView docs coordinates Reserve InventoryReserve InventoryCommand•v1.0.0Command to reserve stock for the items in a checked-out cart. Ownerordering-platformSchemaMapView docs, Authorize PaymentAuthorize PaymentCommand•v1.0.0Command to authorize payment for the total of a checked-out cart. Ownerordering-platformSchemaMapView docs and Create OrderCreate OrderCommand•v1.0.0Command to create a new order from a checked-out cart. Ownerordering-platformSchemaMapView docs.
- Order ServiceOrder ServiceService•v1.0.0
The system of record for orders. Creates and cancels orders, serves order lookups, and publishes events as orders move t...Publishesorder-created, order-completed +1Subscribescreate-order, cancel-order +1APIsAsyncAPIOwnerordering-platformMapRepoView docs publishes Order CreatedOrder CreatedEvent•v1.0.0Published when a new order has been created. Ownerordering-platformSchemaMapView docs and Order CompletedOrder CompletedEvent•v1.0.0Published when an order has been fulfilled and completed. Ownerordering-platformSchemaMapView docs.
- Warehouse ServiceWarehouse ServiceService•v1.0.0
Orchestrates picking and packing in the warehouse. It reacts to completed orders, creates picking jobs, and signals when...Publishesorder-ready-for-shippingSubscribesorder-completedOwnerfulfilment-platformMapRepoView docs reacts to completed orders and publishes Order Ready For ShippingOrder Ready For ShippingEvent•v1.0.0Published when a packed order is ready to be handed to a carrier for shipping. Ownerfulfilment-platformSchemaMapView docs.
- Shipment and carrier events track delivery progress.
Reading the catalog
Use resource pages when you need the authoritative contract for a single component. Use these custom docs when you need the operating narrative: why a capability exists, how systems collaborate, and where ownership boundaries sit.
Start with the domain pages when orienting around business capability. Start with flow pages when diagnosing an end-to-end customer journey.