refactor: split providers into feature modules

This commit is contained in:
Artem Kokos
2026-04-27 23:21:47 +07:00
parent eed04e9122
commit 872ddf9513
12 changed files with 925 additions and 924 deletions

View File

@@ -55,8 +55,16 @@ lib/
│ ├── credentials_storage.dart -- безопасное хранение ключей
│ ├── geofence_worker.dart -- фоновая логика геофенса
│ └── settings_service.dart -- хранение списка "домов"
├── features/
│ ├── api_keys/providers/ -- управление гостевыми API-ключами
│ ├── auth/providers/ -- auth/me и auth-state
│ ├── homes/ -- дома, геолокация, geofence sync
│ ├── remote/providers/ -- polling групп, устройства, сцены, control errors
│ ├── schedules/providers/ -- задачи расписания
│ ├── shared/providers/ -- базовые core providers
│ └── stats/providers/ -- статистика и лог событий
├── providers/
│ └── providers.dart -- Riverpod-провайдеры (god object, подлежит распилу)
│ └── providers.dart -- compatibility barrel для публичных provider-экспортов
├── screens/
│ ├── api_keys_screen.dart
│ ├── event_log_screen.dart
@@ -97,7 +105,7 @@ flutter analyze
flutter test
```
Текущий baseline зелёный: анализатор без issues, юнит-тесты на парсинг домена и состояния проходят штатно.
Текущий baseline зелёный: `flutter analyze`, `flutter test` и release APK сборка проходят штатно.
## Настройка
@@ -117,7 +125,7 @@ API-ключи хранятся отдельно от конфигурации
- Целевая платформа сейчас Android.
- Release APK пока подписывается debug-ключом из Flutter-шаблона.
- Архитектура всё ещё содержит крупный `providers.dart`, который подлежит разделению на feature-oriented модули в рамках грядущих рефакторингов.
- Геофенс всё ещё требует отдельной продуктовой и технической доводки: multi-home semantics, background permissions и retry/cooldown поведение пока не доведены до конца.
## Лицензия