phase-1: scaffold platform foundation structure and architecture governance
This commit is contained in:
38
docs/architecture/foundation/adr/ADR-001-platform-model.md
Normal file
38
docs/architecture/foundation/adr/ADR-001-platform-model.md
Normal file
@@ -0,0 +1,38 @@
|
||||
# ADR-001: Platform Model and Tenancy Strategy
|
||||
|
||||
Status: Accepted
|
||||
Date: 2026-07-03
|
||||
|
||||
## Context
|
||||
|
||||
The existing repository has evolved from marketplace website delivery.
|
||||
The target product is Marketplace-as-a-Service with unlimited tenants on one runtime.
|
||||
|
||||
## Decision
|
||||
|
||||
Adopt a platform runtime model:
|
||||
|
||||
- One Angular application serves all tenants.
|
||||
- Tenant identity is resolved by backend from request Host.
|
||||
- Frontend does not pass tenant id or project key.
|
||||
- Frontend starts by requesting GET /bootstrap.
|
||||
- Tenant-specific website, builder, and backoffice behavior derives from bootstrap configuration.
|
||||
|
||||
## Consequences
|
||||
|
||||
Positive:
|
||||
|
||||
- Tenant onboarding becomes configuration-driven.
|
||||
- Eliminates tenant forks and branch divergence.
|
||||
- Strong separation of platform engine and tenant data.
|
||||
|
||||
Negative:
|
||||
|
||||
- Requires strict discipline against tenant conditionals in UI code.
|
||||
- Requires robust bootstrap schema governance.
|
||||
|
||||
## Compliance Requirements
|
||||
|
||||
- No environment-based tenant branching in presentation logic.
|
||||
- No tenant-specific routes hardcoded in feature components.
|
||||
- Tenant behavior is represented in typed configuration contracts.
|
||||
Reference in New Issue
Block a user