ConnectSoft SaaS extensions and templates — epics¶
This document defines epics, features, and representative tasks for the SaaS platform template program (ConnectSoft.Saas.*Template, ConnectSoft.Blazor.Shell.Saas, ConnectSoft.Extensions.Saas.*, MFE templates). It mirrors the structure of ConnectSoft Blazor Templates - Epics.
Scope: Tenants, Product catalog, Entitlements, Billing, Metering. Out of scope: Audit & compliance, Notifications & webhooks, Configuration / feature-flag platforms as dedicated template programs in this initiative.
Portfolio epic index and Azure Boards import guide: ConnectSoft CompanyDocumentation — docs/product-portfolio/platforms/saas-solution-platform/saas-epics-and-program-backlog.md (full EPIC-SAAS-* list, order, and ADO import steps).
This file is the detailed epic/feature/task breakdown for engineering and for ADO import.
Use these IDs when you mirror this file into Azure DevOps. Preparation: do not create Board items until approved—follow the Azure DevOps Boards import section in the Company page above (tags, area path, import order).
Epic: EPIC-SAAS-SVC-SURFACE — ServiceModel packaging and consumer standard¶
Outcome: Every SaaS backend template publishes NuGet ServiceModel (and RestApi / Grpc as applicable) packages so gateways, shell, MFEs, and peers never reference Application or Domain layers.
Dependencies: Identity Backend / ProductCatalogDemo patterns as reference implementations.
Feature SAAS-SVC-F01 — ServiceModel layout and versioning rules¶
Outcome: Documented folder layout, naming, versioning, and breaking-change policy for ServiceModel packages per bounded context.
Acceptance criteria:
- ADR or starter doc describes package identity pattern (
ConnectSoft.Saas.<Context>.ServiceModel.*). - SemVer rules for contract-breaking vs additive changes are documented.
- Consumers list includes API Gateway, ConnectSoft.Blazor.Shell.Saas, Blazor MFEs, peer microservices.
Task SAAS-SVC-T01 — Author ServiceModel standard page¶
Title: Link SaaS template program to existing Service Model guidance
Description: Add cross-links from SaaS platform — solution plan and ensure examples cite Identity Backend parity.
Task SAAS-SVC-T02 — Define consumer package reference matrix¶
Title: Table of who may reference which package types
Description: Gateways: ServiceModel only; BFF: ServiceModel + auth; MFEs: ServiceModel HTTP clients; no domain leakage.
Feature SAAS-SVC-F02 — CI stages for package publish¶
Outcome: Pipeline stages (build, test, pack, push to feed) are specified for template repos.
Acceptance criteria:
- Documented artifact names and feed (dev vs prod).
- Deterministic versioning from Git tags or build number.
Task SAAS-SVC-T03 — Draft pipeline outline for template repos¶
Title: Placeholder pipeline YAML expectations for ConnectSoft.Saas.*Template
Description: Deferred implementation until repo creation; document must-have steps for security review.
Epic: EPIC-SAAS-TPL-GEN — Optional ConnectSoft.Saas.MicroserviceTemplate¶
Outcome: Optional generic SaaS-flavored microservice template repo submoduling ConnectSoft.BaseTemplate, with dotnet new and docs.
Feature SAAS-GEN-F01 — Repository and template pack skeleton¶
Outcome: Repo hosts template/.template.config, submodule pointer to ConnectSoft.BaseTemplate, and golden sample.
Acceptance criteria:
dotnet new install/dotnet newproduces buildable solution.- README explains parameters (
BoundedContextName, etc.).
Task SAAS-GEN-T01 — Define template parameters (design)¶
Title: List symbols and defaults
Description: Document only in this phase; implementation deferred.
Epic: EPIC-SAAS-TPL-CTX — Per-context ConnectSoft.Saas.*Template repositories¶
Outcome: One Feature (or deliverable) per bounded context: Tenants, ProductsCatalog, Entitlements, Billing, Metering—each with ConnectSoft.Saas.<Context>Template naming, ConnectSoft.BaseTemplate submodule, DDD layout, ServiceModel projects (Phase 1 may use stubs for Extensions.Saas).
Feature SAAS-CTX-F01 — Core wave (Tenants, ProductsCatalog, Entitlements)¶
Outcome: Three template repos specified and prioritized in backlog; design docs complete.
Task SAAS-CTX-T01 — Bounded context matrix signed off¶
Title: Align with saas-bounded-contexts-and-templates
Description: Repo names, aggregate pointers to company DDD spec.
Feature SAAS-CTX-F02 — Monetization wave (Billing, Metering)¶
Outcome: Billing and Metering template repos scoped; dependencies on catalog/edition identifiers documented.
Task SAAS-CTX-T02 — Cross-context ID contracts¶
Title: Document ID keys passed between Billing/Metering and Product catalog
Description: No cross-context navigations—IDs only.
Epic: EPIC-SAAS-SHELL — ConnectSoft.Blazor.Shell.Saas¶
Outcome: Single Blazor Web App host repository: navigation, MFE registry, tenant/edition, OIDC/BFF alignment with Authorization Server and API Gateway.
Feature SAAS-SHELL-F01 — Shell responsibilities and MFE contract¶
Outcome: Shell hosts Web Component MFEs; documents capabilities manifest and policy hooks.
Acceptance criteria:
- Parity with Blazor Templates HLD Application Shell section.
- ConnectSoft.Blazor.Shell.Saas name used consistently.
Task SAAS-SHELL-T01 — Shell vs generic Blazor Shell Template diff¶
Title: Document what is SaaS-specific (tenant, edition, SaaS route table)
Description: Design-only in this phase.
Epic: EPIC-SAAS-MFE — Blazor MFE template repositories (SaaS contexts)¶
Outcome: Per–bounded-context MFE templates (admin/self-service) following Identity / Authorization Server MFE examples; consume ServiceModel packages.
Feature SAAS-MFE-F01 — MFE template pattern per context¶
Outcome: At least one MFE template spec per context group (can combine admin/self-service in backlog).
Task SAAS-MFE-T01 — WASM vs Server choice per MFE¶
Title: Document hosting model decision per template
Description: Align with existing MFE examples; record open choices in team wiki.
Epic: EPIC-SAAS-EXT — ConnectSoft.Extensions.Saas.* libraries (multi-repo)¶
Outcome: One Git repo per package; Abstractions, AspNetCore, Options, Testing minimum; publish to feed; migrate templates from stubs.
Feature SAAS-EXT-F01 — Package boundaries¶
Outcome: saas-extensions-saas-libraries reflects agreed API surface.
Task SAAS-EXT-T01 — Extract candidates from ProductCatalogDemo¶
Title: List types/projects to lift into Abstractions / AspNetCore
Description: Analysis task; no repo creation in documentation phase.
Feature SAAS-EXT-F02 — Migration of Phase 1 templates to package refs¶
Outcome: Checklist for replacing inlined stubs with NuGet refs across ConnectSoft.Saas.*Template and Shell.Saas.
Epic: EPIC-SAAS-DOCS — Documentation and framework cross-links¶
Outcome: ConnectSoft.Documentation, ConnectSoft.CompanyDocumentation, ConnectSoft.AI.SoftwareFactory.Documentation updated; mkdocs nav; explicit out-of-scope list for Audit, Notifications, Configuration.
Acceptance criteria:
- SaaS platform — solution plan published.
- Company implementation mapping page published.
- Software Factory workflow section references SaaS template selection.
Task SAAS-DOCS-T01 — Verify all internal links and nav¶
Title: MkDocs build passes for Documentation site
Description: Run mkdocs build in CI or locally.
Epic: EPIC-SAAS-REF — Reference implementation (ProductCatalogDemo alignment)¶
Outcome: ConnectSoft.Saas.ProductCatalogDemo aligned with ProductsCatalog template and published ConnectSoft.Extensions.Saas.*—after library extraction.
Note: Execution-phase work; backlog items may stay Not ready until EPIC-SAAS-EXT completes.
Feature SAAS-REF-F01 — Demo uses published ServiceModel and libraries¶
Outcome: Demo builds against NuGet feeds; README points to template generator.
Task SAAS-REF-T01 — Gap analysis vs ConnectSoft.Saas.ProductsCatalogTemplate¶
Title: Diff demo solution vs target template output
Description: Deferred to execution.
Azure DevOps mapping (summary)¶
| Epic ID | Suggested ADO work item type | Tag |
|---|---|---|
| EPIC-SAAS-SVC-SURFACE | Feature / Epic | SaaS-Platform |
| EPIC-SAAS-TPL-GEN | Feature / Epic | SaaS-Platform |
| EPIC-SAAS-TPL-CTX | Feature (split per context) | SaaS-Platform |
| EPIC-SAAS-SHELL | Feature / Epic | SaaS-Platform |
| EPIC-SAAS-MFE | Feature (split per MFE) | SaaS-Platform |
| EPIC-SAAS-EXT | Feature / Epic | SaaS-Platform |
| EPIC-SAAS-DOCS | Feature / Epic | SaaS-Platform |
| EPIC-SAAS-REF | Feature / Epic | SaaS-Platform |
Work items in Azure Boards: create only after stakeholders approve import. Epic list + import process: ConnectSoft CompanyDocumentation — docs/product-portfolio/platforms/saas-solution-platform/saas-epics-and-program-backlog.md.
Ordering¶
- EPIC-SAAS-DOCS (foundational narrative) and EPIC-SAAS-SVC-SURFACE (contract rules) — parallel with design.
- EPIC-SAAS-TPL-GEN (optional) → EPIC-SAAS-TPL-CTX (core wave → monetization wave).
- EPIC-SAAS-SHELL + EPIC-SAAS-MFE alongside backend waves for vertical slices.
- EPIC-SAAS-EXT after Phase 1 templates stabilize.
- EPIC-SAAS-REF last.