Files
marketplaces/docs/architecture/foundation/Naming-Conventions.md

1.3 KiB

Naming Conventions

Status: Mandatory Date: 2026-07-03

General

  • Use clear domain-oriented names.
  • Prefer explicit names over abbreviations.
  • Keep naming consistent across Website, Builder, Backoffice.

Files and Folders

  • Folders: kebab-case.
  • TypeScript files: kebab-case with suffix.
  • Interfaces: PascalCase.
  • Types: PascalCase.
  • Enums: PascalCase.
  • Constants: UPPER_SNAKE_CASE for true constants.

Angular Artifacts

  • Component: name.component.ts
  • Container component: name.container.component.ts
  • Facade: name.facade.ts
  • Service: name.service.ts
  • Adapter: name.adapter.ts
  • Token: name.token.ts
  • Guard: name.guard.ts
  • Resolver: name.resolver.ts
  • Pipe: name.pipe.ts

Configuration Contracts

  • Bootstrap payload root: BootstrapConfig.
  • Domain segments named by function:
    • TenantConfig
    • BrandingConfig
    • ThemeConfig
    • FeatureFlagsConfig
    • NavigationConfig
    • PageConfig
    • SectionConfig
    • WidgetConfig

Event and Action Naming

  • Outputs: actionRequested, valueChanged, selectionChanged.
  • Facade commands: loadX, updateX, saveX, publishX.
  • Selectors/signals: xState, xViewModel, isXEnabled.

Prohibited Names

  • Generic names without domain meaning such as DataService or UtilsService.
  • Tenant-coded names in frontend source.
  • Brand-specific class names in reusable layers.