Skip to content

SaaS Products Catalog (ConnectSoft.Saas.ProductsCatalogTemplate)

A Layer 3 SaaS microservice template for the Products Catalog bounded context - the authoring system for what is sold. Aggregate root: Product. Topic prefix: catalog.domain.v1.

It extends ConnectSoft.BaseTemplate via the base-template/ submodule + MSBuild layering. Shared behavior is covered by the Base Template and template layering; this section documents the catalog domain.

Responsibility

Owns tenant-scoped product catalog metadata: products, their editions, edition-feature bindings, SLAs, pricing and business-model bindings. Edition features declare UsageLimit ceilings - declaration of limits lives here; enforcement/counting is the Metering context's job.

External references (by id only)

  • TenantId -> Tenants
  • SubscriptionId -> Billing

Design notes (ADRs)

  • One aggregate root per repo: IProduct (ADR-0001).
  • Edition-inside-Product aggregate (ADR-0002), with CompositionVersion on editions.
  • Publish-only MassTransit (ADR-0003) - no consumers/sagas.

dotnet new

dotnet new install ConnectSoft.Saas.ProductsCatalogTemplate.Installer
dotnet new connectsoft-saas-productscatalog -n ConnectSoft.MyProductsCatalogService

See also