Feature Slice: <Название Фичи>
Цель
Опиши пользовательскую или бизнес-ценность, границы feature group и почему изменение принадлежит этому service/frontend app.
Область Действия
| Область | Входит | Не входит |
|---|
| Backend | <commands/queries/api/events> | <excluded> |
| Frontend | <pages/widgets/features> | <excluded> |
| Данные | <entities/projections/reports> | <excluded> |
| Operations | <jobs/runbooks/dashboards> | <excluded> |
Размещение
| Слой | Путь |
|---|
| Backend Application | src/services/<service>/<Service>.Application/<FeatureGroup>/<Feature>/ |
| Backend API | src/services/<service>/<Service>.Api/Controllers/<area>/ |
| Contracts | src/contracts/<package> |
| Frontend | src/front-ends/<app>/src/<fsd-layer>/ |
| Docs | docs/<section>/<path> |
Акторы И Permissions
| Actor | Permission/Policy | Tenant/Brand scope | Примечания |
|---|
<Actor> | <permission.name> | <scope rule> | <notes> |
Контракты
| Тип | Имя | Документ | Версия |
|---|
| API | <method route> | <link> | <version> |
| Event | <event.name> | <link> | <version> |
| Model | <ModelName> | <link> | <version> |
Модели Typed
<ModelName>
| Поле | Тип | Обязательность | Источник | Валидация | Безопасность |
|---|
<FieldName> | <Type> | Да/Нет | <source> | <rule> | <mask/exclude> |
Поведение Backend
| Операция | Актор | Бизнес-результат | Границы согласованности |
|---|
<операция> | <actor> | <результат> | <rule> |
Поведение Frontend
| Экран/Компонент | FSD layer | Источник данных | UI состояния |
|---|
<component> | <layer> | <query/mutation/store> | loading/empty/error/forbidden/success |
Побочные Эффекты
| Тип | Правило |
|---|
| Events | <events or none> |
| Cache/query invalidation | <query keys or none> |
| Search/projections | <indexes/projections or none> |
| Notifications | <channel/template or none> |
Критерии Acceptance
<business outcome> выполняется для разрешенного actor-а.
- Forbidden/validation/error states возвращают typed errors.
- Tenant isolation сохраняется во всех commands, queries, events, logs и traces.
- Sensitive данные не попадают в client state, logs или events.
Проверка
| Уровень | Проверка |
|---|
| Unit | <domain/application rules> |
| Integration | <db/kafka/provider/testcontainers> |
| Contract | <OpenAPI/event compatibility> |
| Frontend | <guards/loading/empty/error/optimistic> |
| Observability | <metrics/logs/traces/dashboard> |
Обратные ссылки
Автоссылки: где используется этот документ.