sync
Some checks are pending
CI/CD Pipeline / docker (push) Waiting to run
CI/CD Pipeline / deploy (push) Blocked by required conditions

This commit is contained in:
2026-03-18 09:22:03 +03:00
parent 9eeba2c37d
commit d1af4619f7
10 changed files with 519 additions and 46 deletions

View File

@@ -4,7 +4,7 @@ title: Архитектура
# Архитектура
Архитектура построена на FSD (FeatureSliced Design) и строгих границах модулей.
Архитектура построена на FSD (`FeatureSliced Design`) и строгих границах модулей.
Цель — разделить ответственность, упростить сопровождение и контроль зависимостей.
## Принципы
@@ -14,7 +14,7 @@ title: Архитектура
- Открывать наружу только публичный API модулей.
- Не допускать циклических зависимостей.
## Слои
## Слои (FSD)
- **app** — инициализация приложения, роутинг, конфигурации, глобальные провайдеры.
- **screens** — экраны и их композиция.
@@ -24,6 +24,17 @@ title: Архитектура
- **entities** — бизнес-сущности и их модель.
- **shared** — переиспользуемая инфраструктура, утилиты и базовые UIкомпоненты.
## Модули (FSD)
- Модуль — это отдельная папка в слоях `screens`, `layouts`, `widgets`, `features`, `entities`, которая реализует один сценарий/блок. В корне модуля лежит главный файл (`*.screen.tsx`, `*.layout.tsx`, `*.widget.tsx`, `*.feature.tsx`, `*.entity.tsx`) и публичный API (`index.ts`).
- Внутри модуля используются подпапки (по необходимости):
- `ui/` — дочерние UIкомпоненты модуля.
- `model/` — состояние и бизнес‑логика модуля.
- `styles/` — локальные стили модуля.
- `helpers/` — локальные хелперы.
- `lib/` — утилиты модуля.
- `api/` — APIвызовы модуля.
## Правила зависимостей
- Допустимые импорты идут сверху вниз: `app → screens → layouts → widgets → features → entities → shared`.