docs: refresh project README

This commit is contained in:
Artem Kokos
2026-04-22 23:39:34 +07:00
parent 762d16dc78
commit 504f65fc5f

View File

@@ -23,7 +23,8 @@
- Flutter 3.x / Dart
- Riverpod -- управление состоянием
- Dio -- HTTP-клиент
- SharedPreferences -- локальное хранение настроек
- SharedPreferences -- локальное хранение несекретных настроек
- Flutter Secure Storage -- безопасное хранение API-ключей
- Geolocator -- геолокация
- Workmanager -- периодические фоновые задачи
- Flutter Local Notifications -- локальные уведомления
@@ -32,13 +33,16 @@
```
lib/
├── app/
│ └── app_bootstrap.dart -- bootstrap приложения и стартовые состояния
├── main.dart -- точка входа, тема, роутер
├── models/
│ └── home_config.dart -- модель "дома" (сервер)
│ └── home_config.dart -- несекретная модель "дома" (сервер)
├── services/
│ ├── api_client.dart -- обёртка Dio для Ignis API
│ ├── credentials_storage.dart -- безопасное хранение API-ключей
│ ├── geofence_worker.dart -- фоновая проверка геофенса
│ └── settings_service.dart -- хранение домов в SharedPreferences
│ └── settings_service.dart -- хранение домов и миграция ключей
├── providers/
│ └── providers.dart -- Riverpod-провайдеры
├── screens/
@@ -79,7 +83,12 @@ flutter analyze
flutter test
```
Текущий baseline после коммита `ffc2ea1` зелёный: анализатор без issues, тесты проходят.
Текущий baseline зелёный: анализатор без issues, тесты проходят. Перед установкой на телефон дополнительно проверялась сборка:
```bash
flutter build apk --debug
flutter build apk --release
```
## Настройка
@@ -87,6 +96,8 @@ flutter test
Для добавления второго дома: кнопка "домик" в левом верхнем углу пульта -> экран домов -> кнопка "+".
API-ключи хранятся отдельно от конфигурации домов в `flutter_secure_storage`. Старые ключи, сохранённые прежними версиями приложения в `SharedPreferences`, автоматически мигрируются при запуске.
## API
Приложение работает с [Ignis Core API](https://git.akokos.ru) -- self-hosted бэкенд на FastAPI для управления лампами WiZ по локальной сети. Используемые эндпоинты:
@@ -118,8 +129,9 @@ flutter test
## Текущие ограничения
- Целевая платформа сейчас Android.
- API-ключи пока хранятся в `SharedPreferences`; это следующий приоритетный технический долг.
- Release APK пока подписывается debug-ключом из Flutter-шаблона.
- Архитектура всё ещё содержит крупный `providers.dart` и много сырых `Map<String, dynamic>`.
- Обработка ошибок стала лучше на bootstrap/polling, но ещё не унифицирована по всем экранам.
## Лицензия