Skip to content

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 CompanyDocumentationdocs/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 new produces 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-SHELLConnectSoft.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-EXTConnectSoft.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.


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.

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 CompanyDocumentationdocs/product-portfolio/platforms/saas-solution-platform/saas-epics-and-program-backlog.md.


Ordering

  1. EPIC-SAAS-DOCS (foundational narrative) and EPIC-SAAS-SVC-SURFACE (contract rules) — parallel with design.
  2. EPIC-SAAS-TPL-GEN (optional) → EPIC-SAAS-TPL-CTX (core wave → monetization wave).
  3. EPIC-SAAS-SHELL + EPIC-SAAS-MFE alongside backend waves for vertical slices.
  4. EPIC-SAAS-EXT after Phase 1 templates stabilize.
  5. EPIC-SAAS-REF last.