docs: refresh project README
This commit is contained in:
22
README.md
22
README.md
@@ -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, но ещё не унифицирована по всем экранам.
|
||||
|
||||
## Лицензия
|
||||
|
||||
|
||||
Reference in New Issue
Block a user