SaaS Solution Platform — Business Requirements¶
Purpose¶
This document captures business-level requirements for the SaaS Solution Platform as a product line (templates + libraries + shell + contracts). Detailed domain rules remain in the DDD entities specification.
Stakeholders¶
- Product and engineering — Ship features on a shared backlog (EPIC-SAAS-*).
- Enterprise customers — Expect multi-tenancy, edition awareness, auditability of commercial changes (via integration with Audit platform where applicable).
- Factory — Agents and workflows select templates consistently (see Software Factory documentation).
Functional Requirements¶
BR-SAAS-001 — Bounded-context templates¶
Statement: Each in-scope bounded context MUST be realizable as a ConnectSoft.Saas.<Context>Template repository with ConnectSoft.BaseTemplate submodule and dotnet new support.
Acceptance: Documentation lists template repo names; factory can scaffold a runnable solution.
BR-SAAS-002 — Published API contracts¶
Statement: External consumers (gateway, shell, MFEs, peers) MUST consume NuGet-packaged ServiceModel (and RestApi/Grpc as defined)—not Application or Domain projects.
Acceptance: API contract specification defines naming and versioning; breaking changes bump major version.
BR-SAAS-003 — Tenant and edition awareness¶
Statement: Services and shell MUST enforce tenant and edition policy through documented resolution (claims, headers, correlation)—centralized in Extensions.Saas when Phase 2 ships.
Acceptance: Integration patterns describe identity and propagation.
BR-SAAS-004 — Portal composition¶
Statement: End-user and admin experiences MUST be composable via ConnectSoft.Blazor.Shell.Saas and MFE modules following Identity / Authorization Server MFE patterns.
Acceptance: Blazor microfrontend backlog plan lists shell and MFE deliverables.
BR-SAAS-005 — Monetization path¶
Statement: Product catalog, entitlements, billing, and metering MUST be integratable using IDs and events across contexts—no cross-context domain navigation.
Acceptance: Domain model schema references canonical aggregates and boundaries.
Non-Functional Requirements¶
| ID | Requirement |
|---|---|
| NFR-SAAS-001 | Observability — OpenTelemetry traces/logs/metrics across shell, MFEs, services |
| NFR-SAAS-002 | Security — OAuth2/OIDC; least privilege; secrets via platform standards |
| NFR-SAAS-003 | Scalability — Stateless services; horizontal scale; async integration |
| NFR-SAAS-004 | Maintainability — One library repo per ConnectSoft.Extensions.Saas.* package |
Out of Scope (Explicit)¶
- Dedicated Audit, Notifications, or Configuration products as part of this BRD—see respective platform pages.
- Single monolithic “SaaS database” for all contexts.
Traceability¶
- Epics: ConnectSoft.Documentation —
saas-extensions-and-templates-epics.md - Domain: DDD entities