feat: добавлена новый skill flutter_dev и документация (#46)

This commit is contained in:
Yuri Petrov
2026-01-27 09:31:01 +03:00
committed by GitHub
parent 2fc8f2c3ba
commit 971bafe191
8 changed files with 186 additions and 6 deletions

View File

@@ -0,0 +1,33 @@
# Структура проекта
Проект строится на основе фич и слоев.
## Общая иерархия
- `/assets` — графические ресурсы.
- `/lib` — основной код.
- `/app` — глобальные настройки, интерфейсы и реализации.
- `/di` — конфигурация зависимостей.
- `/routing` — описание путей.
- `/features` — функциональные модули приложения.
- `/gen` — сгенерированный код.
## Структура Feature-папки
Каждая фича делится на три слоя:
1. **Data** (Поставщик данных):
- `/dto` — модели данных для API.
- `/repository` — реализация интерфейсов репозиториев.
2. **Domain** (Бизнес-логика):
- `/entity` — чистые модели для использования в UI.
- `/repository`**интерфейсы** репозиториев.
- `/state` — управление состоянием (BLoC).
- `/service` — реализации бизнес-сервисов.
3. **Presentation** (Представление):
- `/screens` — виджеты экранов (`*Screen`).
- `/components` — переиспользуемые компоненты внутри фичи.
## Правила взаимодействия
- **Data** → доступ к **Entity** (для маппинга), не знает про UI.
- **Domain** → не знает про **Data** (работает через интерфейсы) и **Presentation**.
- **Presentation** → работает через **Domain**, не знает про **Data**.
- Объекты внутри фичи инкапсулированы. Глобальные объекты выносятся в `/app`.