Catalog Domain — Index¶
Status¶
Official Business Capability (M3 Bootstrap)
Purpose¶
The Catalog Domain defines the user-facing structure of Product discovery.
It is a read-oriented projection layer built on top of the Product Domain.
It does NOT define business truth.
Domain Position¶
Catalog sits between:
- Product Domain (Truth)
- User Experience (Navigation / Discovery)
Responsibilities¶
The Catalog Domain is responsible for:
- Product discovery structures
- Navigation views
- Filtering experience
- Faceted browsing
- Category-like projections
- Collections of products
Strict Boundaries¶
Catalog Domain MUST NOT:
- define product identity
- resolve identifiers
- handle product conflicts
- manage pricing logic
- manage stock logic
- manage merchant logic
- mutate Product state
Core Concept¶
Catalog is a projection of Product, not a source of truth.
Product Domain -> Truth
Catalog Domain -> Shape of Truth
Core Entities¶
- Catalog
- CatalogItem (projection of Product)
- CatalogView (user-facing structure)
- CatalogCollection (dynamic grouping)
- CatalogFilter (query constraints)
Invariants¶
- Catalog MUST always derive from Product
- Catalog MUST NOT store business truth
- Catalog MUST be reproducible
- Catalog MUST be eventually consistent
Lifecycle¶
- Product is created/updated
- Catalog is rebuilt or updated
- Catalog views are exposed
Decision¶
Decision: IMPROVE
Catalog Domain is introduced as the first projection layer of CMonChoix Platform.