Files
marketplaces/docs/backend-platform/config-domain.md
sdarbinyan 10251f2fc6
Some checks failed
Architecture Governance / architecture (push) Has been cancelled
docs
2026-07-05 04:23:47 +04:00

2.0 KiB

Config Domain

1. Purpose

CONFIG DOMAIN provides runtime UI configuration for a tenant. It enables one frontend build to serve many tenants by changing configuration, not code.

Primary outputs:

  • /bootstrap
  • /pages/:slug (static content domain)

2. Ownership

Config domain owns:

  • tenant public runtime metadata
  • theme and visual tokens
  • layout mode and page structure
  • widget registry metadata pointers
  • footer metadata and legal-page mapping
  • feature flags and localization mappings

Business domain owns:

  • items, categories, cart, orders, payments, auth

3. Layout Engine Responsibility

Backend returns layout intent (e.g., layout.type) and page graph. Frontend layout engine composes UI from this graph.

Supported modes:

  • default
  • sidebar-left
  • carousel-home
  • minimal

No tenant-specific UI branching in component code.

4. Widget Registry Concept

Backend provides widgetRegistry.manifestUrl. Frontend reads manifest and resolves approved widget keys.

Benefits:

  • controlled extensibility
  • unknown widget safe fallback
  • decoupled rollout of widget metadata

Footer metadata includes:

  • columns and links
  • payment icons
  • legal page references
  • localized copyright

Static pages provide multilingual HTML per slug. Frontend renders through safe sanitization path.

6. Feature Flags

Feature flags in bootstrap:

  • enable/disable capabilities at tenant scope
  • support gradual rollout
  • avoid deployment-based behavior switches

7. Config Data vs Business Data

Config data:

  • shapes the interface
  • relatively low-frequency changes
  • public-safe payloads

Business data:

  • transactional/catalog state
  • high-frequency updates
  • operational integrity requirements

8. Why Separation Matters

  • scalability: independent lifecycle for UI config and business operations
  • safety: prevents leaking operational logic into UI composition
  • maintainability: clear boundaries and lower coupling
  • multi-tenant readiness: behavior changes per tenant without code fork