Files
marketplaces/docs/architecture/foundation/adr/ADR-001-platform-model.md

39 lines
1.1 KiB
Markdown
Raw Normal View History

# 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.