Платформенный слой
Зачем нужно
Платформенный слой задаёт общие технические правила для всех 7 доменов. Без него каждый домен изобретает свои API-конвенции, формат ошибок, контракт событий, способ авторизации, дизайн UI и подход к деплою. Это гарантированный источник противоречий.
Платформа не является 8-м доменом и не владеет бизнес-сущностями. Она владеет техническим контрактом, по которому домены живут вместе.
Что входит
| Документ | Что описывает |
|---|---|
tech-stack.md | Языки, фреймворки, БД, очереди, кэш, фронтенд, инструменты |
topology.md | Сервисы и границы деплоя, окружения, доменные сервисы |
api-conventions.md | Envelope, ошибки, пагинация, идемпотентность, версионирование, заголовки |
auth-integration.md | Как не-identity домены потребляют токены identity, scopes, actor context |
permissions-model.md | Глобальная модель permissions, scope, проверки и аудит |
events-bus.md | Транспорт, naming, payload, retention, идемпотентность событий |
reference-data.md | subject, level, format, grade_range: данные, API, владение |
ui-system.md | Дизайн-токены, темы, типографика, базовые компоненты UI Kit |
observability.md | Логи, аудит, метрики, трассировка, корреляция |
security-baseline.md | Секреты, шифрование, заголовки, cookies, rate limits, PII |
data-baseline.md | PostgreSQL conventions, миграции, типы, retention |
frontend-baseline.md | Frontend-стек, маршруты, защита, API-клиент, состояния |
ci-cd.md | Сборка, тесты, релизы, окружения, версионирование |
development-order.md | Порядок разработки 7 доменов |
acceptance.md | Критерии готовности платформенного слоя |
Главные правила
- Платформа диктует контракт; домен соблюдает его.
- Если домен нарушает контракт — исправляется домен или платформа (через ADR).
- Reference-данные доступны всем доменам только через единый справочник.
- Каждое API-наружу домена соответствует
api-conventions.md. - Каждое cross-domain событие следует
events-bus.md. - UI-домены потребляют общую UI-систему, а не свои токены.
- Аутентификация — только через identity authorization server.
- RBAC использует общую модель permissions.
Что не входит
- Бизнес-сущности — это
domains/. - Cross-domain контракты конкретных интеграций — это
integrations/. - Архитектурные решения с обоснованием — это
decisions/. - Историческая справка — это
archive/.
Связи с остальными слоями
| Слой | Связь |
|---|---|
ecosystem/ | продуктовая рамка над платформой; платформа должна соответствовать инвариантам |
domains/ | каждый домен реализует свой API, события и UI поверх платформы |
integrations/ | используют контракты api-conventions, events-bus, auth-integration |
decisions/ | архитектурные решения, влияющие на платформу, оформляются как ADR |
migration/ | миграция использует data-baseline и data-mapping |