system

Cart System

Internal system that owns the customer's shopping cart and the checkout flow. It is the source of truth for cart contents and publishes an event when a cart is checked out.

SystemInternal

Overview

The Cart System owns the shopping cart at Acme Inc. It accepts commands to add and remove items and to check out, persists cart contents in the Cart DatabaseCart DatabaseContainerv1.0.0PostgreSQL database that is the system of record for shopping carts and their items.MapView docs, and asks the 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 to calculate the discounts that apply. When a cart is checked out it publishes a Cart Checked OutCart Checked OutEventv1.0.0Published when a customer has checked out their cart. Ownershopping-platformSchemaMapView docs event.

Context Diagram

How this system relates to the other systems around it.

Resource Diagram

The services, data stores and messages that make up this system.

What’s inside

ComponentTypeResponsibility
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 docsServicePublic-facing API. Handles add/remove/checkout commands and publishes the checkout event.
Cart DatabaseCart DatabaseContainerv1.0.0PostgreSQL database that is the system of record for shopping carts and their items.MapView docsData storePostgreSQL system of record for shopping carts and their items.

Messages this system publishes