Platform

Architecture overview

How Acme Inc's commerce platform is organised across domains, systems, services, messages, data stores and teams.

Overview

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 CatalogCatalogDomainv1.0.0The Catalog domain owns everything about products — how they are created, maintained and made discoverable across Acme I...Ownerproduct-platformMapView docs, ShoppingShoppingDomainv1.0.0The Shopping domain owns the customer's path to purchase — building a cart, applying promotions, and checking out. It co...Ownershopping-platformMapView docs, OrderingOrderingDomainv1.0.0The Ordering domain turns a checked-out cart into a confirmed order. It orchestrates checkout — reserving inventory, aut...Ownerordering-platformMapView docs, PaymentsPaymentsDomainv1.0.0The Payments domain takes payment for orders and processes refunds. It orchestrates authorization and capture through an...Ownerpayments-platformMapView docs, FulfilmentFulfilmentDomainv1.0.0The Fulfilment domain gets a confirmed order to the customer. It reserves stock, picks and packs orders in the warehouse...Ownerfulfilment-platformMapView docs, CustomerCustomerDomainv1.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 & RatingsDomainv1.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

AreaPrimary capabilityCore systems
CatalogCatalogDomainv1.0.0The Catalog domain owns everything about products — how they are created, maintained and made discoverable across Acme I...Ownerproduct-platformMapView docsProduct data and searchProduct Catalog SystemProduct Catalog SystemSystemv1.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 SystemSystemv1.0.0Internal system that keeps product data searchable. Consumes product change events from the Product Catalog System, main...Ownersearch-platformMapView docs
ShoppingShoppingDomainv1.0.0The Shopping domain owns the customer's path to purchase — building a cart, applying promotions, and checking out. It co...Ownershopping-platformMapView docsCart and promotionsCart SystemCart SystemSystemv1.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 SystemSystemv1.0.0Internal system that calculates the discounts and promotions that apply to a cart. It owns promotion rules and returns c...Ownershopping-platformMapView docs
OrderingOrderingDomainv1.0.0The Ordering domain turns a checked-out cart into a confirmed order. It orchestrates checkout — reserving inventory, aut...Ownerordering-platformMapView docsCheckout and order lifecycleCheckout SystemCheckout SystemSystemv1.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 SystemSystemv1.0.0Internal system that is the source of truth for orders. It creates orders, tracks their lifecycle, and publishes events ...Ownerordering-platformMapView docs
PaymentsPaymentsDomainv1.0.0The Payments domain takes payment for orders and processes refunds. It orchestrates authorization and capture through an...Ownerpayments-platformMapView docsPayment authorization, capture and refundsPayment Processing SystemPayment Processing SystemSystemv1.0.0Internal system that orchestrates payment for orders. It authorizes payments, requests charges from the external payment...Ownerpayments-platformMapView docs, StripeStripeSystemv1.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 DetectionSystemv1.0.0External provider that screens payments for fraud. It consumes payment requests and returns a pass or fail verdict. Ownerpayments-platformMapView docs
FulfilmentFulfilmentDomainv1.0.0The Fulfilment domain gets a confirmed order to the customer. It reserves stock, picks and packs orders in the warehouse...Ownerfulfilment-platformMapView docsStock, warehouse and shipmentInventory SystemInventory SystemSystemv1.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 SystemSystemv1.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 SystemSystemv1.0.0Internal system that hands packed orders to carriers. It reacts to ready-for-shipping orders and creates shipments with ...Ownerfulfilment-platformMapView docs, CarrierCarrierSystemv1.0.0External carrier that delivers shipments to customers. It accepts shipment requests and reports delivery progress back. Ownerfulfilment-platformMapView docs
CustomerCustomerDomainv1.0.0The Customer domain owns who our customers are — how they register, how their profile is maintained, and how they are au...Ownercustomer-platformMapView docsCustomer profile and authenticationCustomer Management SystemCustomer Management SystemSystemv1.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 ProviderSystemv1.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 & RatingsDomainv1.0.0The Reviews & Ratings domain owns customer feedback on products — how reviews are submitted, moderated, published and ag...Ownerreviews-platformMapView docsProduct feedback and ratingsReview APIReview APIServicev1.0.0The public-facing API for product reviews. Accepts review submissions, serves published reviews, and is the entry point ...Publishesreview-submitted, review-flagged +1Subscribessubmit-review, flag-review +2Ownerreviews-platformMapRepoView docs, Review Moderation WorkerReview Moderation WorkerServicev1.0.0Asynchronous worker that screens submitted reviews for spam, abuse and policy violations, then publishes or rejects them...Publishesreview-published, review-rejectedSubscribesreview-submitted, review-flaggedOwnerreviews-platformMapRepoView docs, Rating AggregatorRating AggregatorServicev1.0.0Keeps each product's aggregate star rating up to date as reviews are published, and serves it fast from a cache. Publishesrating-updatedSubscribesreview-publishedOwnerreviews-platformMapRepoView docs

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:

  1. Cart APICart APIServicev1.0.0The 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 OutEventv1.0.0Published when a customer has checked out their cart. Ownershopping-platformSchemaMapView docs.
  2. Checkout OrchestratorCheckout OrchestratorServicev1.0.0Runs 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 InventoryCommandv1.0.0Command to reserve stock for the items in a checked-out cart. Ownerordering-platformSchemaMapView docs, Authorize PaymentAuthorize PaymentCommandv1.0.0Command to authorize payment for the total of a checked-out cart. Ownerordering-platformSchemaMapView docs and Create OrderCreate OrderCommandv1.0.0Command to create a new order from a checked-out cart. Ownerordering-platformSchemaMapView docs.
  3. Order ServiceOrder ServiceServicev1.0.0The system of record for orders. Creates and cancels orders, serves order lookups, and publishes events as orders move t...Publishesorder-created, order-confirmed +9Subscribescreate-order, cancel-order +1APIsAsyncAPIOwnerordering-platformMapRepoView docs publishes Order CreatedOrder CreatedEventv1.0.0Published when a new order has been created. Ownerordering-platformSchemaMapView docs and Order CompletedOrder CompletedEventv1.0.0Published when an order has been fulfilled and completed. Ownerordering-platformSchemaMapView docs.
  4. Warehouse ServiceWarehouse ServiceServicev1.0.0Orchestrates 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 ShippingEventv1.0.0Published when a packed order is ready to be handed to a carrier for shipping. Ownerfulfilment-platformSchemaMapView docs.
  5. 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.