Files

1.9 KiB

Структура проекта

Проект строится на основе фич и слоев.

Общая иерархия

  • /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.