service
Product API

Product API

The public-facing API for the product catalog. Handles commands to create, update and delete products, serves product reads, and is the entry point into the Product Catalog System.

Overview

The Product API is the front door to the Product Catalog System. It validates incoming commands, persists product data to the Product DatabaseProduct DatabaseContainerv1.0.0PostgreSQL database that is the system of record for all product data.MapView docs, and records every change to the outbox. The Product Search PublisherProduct Search PublisherServicev1.0.0Reads product changes from the product database (outbox) and reliably publishes product-created, product-updated and pro...Publishesproduct-created, product-updated +1Ownerproduct-platformMapRepoView docs then turns those changes into the domain events the rest of the business consumes.

Receives 4 messages

Commands and queries handled by this service

System of record

Reads from and writes to the product database

Responsibilities

AreaDescription
Command handlingValidates and applies Create ProductCreate ProductCommandv1.0.0Command to add a new product to the catalog. Ownerproduct-platformSchemaMapView docs, Update ProductUpdate ProductCommandv1.0.0Command to update an existing product in the catalog. Ownerproduct-platformSchemaMapView docs and Delete ProductDelete ProductCommandv1.0.0Command to remove a product from the catalog. Ownerproduct-platformSchemaMapView docs.
ReadsServes Get ProductGet ProductQueryv1.0.0Query to fetch a single product by its identifier. Ownerproduct-platformSchemaMapView docs directly from the product database.
Change captureRecords every product change to the outbox in the Product DatabaseProduct DatabaseContainerv1.0.0PostgreSQL database that is the system of record for all product data.MapView docs for the Product Search PublisherProduct Search PublisherServicev1.0.0Reads product changes from the product database (outbox) and reliably publishes product-created, product-updated and pro...Publishesproduct-created, product-updated +1Ownerproduct-platformMapRepoView docs to publish.
PersistenceReads from and writes to the Product DatabaseProduct DatabaseContainerv1.0.0PostgreSQL database that is the system of record for all product data.MapView docs (system of record).

Architecture diagram

Messages for this service

Sends messages (0)

Quickly find the message you need by searching for the name, type, or summary.
NameVersionTypeSummary
No messages found

Receives messages (4)

Quickly find the message you need by searching for the name, type, or summary.
NameVersionTypeSummary
Create Product
v1.0.0commandCommand to add a new product to the catalog.
Update Product
v1.0.0commandCommand to update an existing product in the catalog.
Delete Product
v1.0.0commandCommand to remove a product from the catalog.
Get Product
v1.0.0queryQuery to fetch a single product by its identifier.
Event-driven architecture documentation: Acme Inc