Skip to content

Online store checkout

A shop with a CDN, a gateway, three services, a cache, a database, a queue and a payment provider. It is the diagram behind most examples in these docs.

Things to try:

  • Pick Place an order and press play, then switch to Sequence and Story to read the same steps two other ways.
  • Click API gateway or order-service to open their notes.
  • Open Backend only for the same model with the edge layer left out.
  • Pick Card declined, and see how a failure is a scenario of its own.
  • Hover a line, then the matching row of the interfaces table at the bottom.

How a shopper's browser reaches the store, what the backend does with each request, and where things can go wrong. Click any box for details, or pick a scenario above the diagram and press play to watch a request travel through the system.

Everything in one picture. Letters on the edges match the interfaces table underneath.

Scenario
HTTP request / responseData accessPersistent channel (websocket, gRPC)Queue / brokerDashed: planned
Loading diagram…
KeyFrom → ToKindAuthWhat travels
AShopper browser → CDNhttp—HTTPS
BCDN → API gatewayhttp——
CAPI gateway → Keycloakdataclient credentialssigning keys
DAPI gateway → catalog-servicehttp—/products
EAPI gateway → cart-servicehttp—/cart
FAPI gateway → order-servicehttp—/orders
Gcatalog-service → Redisdata—cache
Hcatalog-service → PostgreSQLdata——
Icart-service → Redisdata——
Jorder-service → PostgreSQLdata——
Korder-service → StripechannelAPI keypayment intent
Lorder-service → RabbitMQqueue—order.created
MRabbitMQ → notification-workerqueue——

The source is diagram.yaml and two files in nodes/. See Views, Steps and Node docs for what each part does.