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-> TenantsSubscriptionId-> Billing
Design notes (ADRs)¶
- One aggregate root per repo:
IProduct(ADR-0001). - Edition-inside-Product aggregate (ADR-0002), with
CompositionVersionon 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