docs: refresh project README
This commit is contained in:
22
README.md
22
README.md
@@ -23,7 +23,8 @@
|
|||||||
- Flutter 3.x / Dart
|
- Flutter 3.x / Dart
|
||||||
- Riverpod -- управление состоянием
|
- Riverpod -- управление состоянием
|
||||||
- Dio -- HTTP-клиент
|
- Dio -- HTTP-клиент
|
||||||
- SharedPreferences -- локальное хранение настроек
|
- SharedPreferences -- локальное хранение несекретных настроек
|
||||||
|
- Flutter Secure Storage -- безопасное хранение API-ключей
|
||||||
- Geolocator -- геолокация
|
- Geolocator -- геолокация
|
||||||
- Workmanager -- периодические фоновые задачи
|
- Workmanager -- периодические фоновые задачи
|
||||||
- Flutter Local Notifications -- локальные уведомления
|
- Flutter Local Notifications -- локальные уведомления
|
||||||
@@ -32,13 +33,16 @@
|
|||||||
|
|
||||||
```
|
```
|
||||||
lib/
|
lib/
|
||||||
|
├── app/
|
||||||
|
│ └── app_bootstrap.dart -- bootstrap приложения и стартовые состояния
|
||||||
├── main.dart -- точка входа, тема, роутер
|
├── main.dart -- точка входа, тема, роутер
|
||||||
├── models/
|
├── models/
|
||||||
│ └── home_config.dart -- модель "дома" (сервер)
|
│ └── home_config.dart -- несекретная модель "дома" (сервер)
|
||||||
├── services/
|
├── services/
|
||||||
│ ├── api_client.dart -- обёртка Dio для Ignis API
|
│ ├── api_client.dart -- обёртка Dio для Ignis API
|
||||||
|
│ ├── credentials_storage.dart -- безопасное хранение API-ключей
|
||||||
│ ├── geofence_worker.dart -- фоновая проверка геофенса
|
│ ├── geofence_worker.dart -- фоновая проверка геофенса
|
||||||
│ └── settings_service.dart -- хранение домов в SharedPreferences
|
│ └── settings_service.dart -- хранение домов и миграция ключей
|
||||||
├── providers/
|
├── providers/
|
||||||
│ └── providers.dart -- Riverpod-провайдеры
|
│ └── providers.dart -- Riverpod-провайдеры
|
||||||
├── screens/
|
├── screens/
|
||||||
@@ -79,7 +83,12 @@ flutter analyze
|
|||||||
flutter test
|
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
|
## API
|
||||||
|
|
||||||
Приложение работает с [Ignis Core API](https://git.akokos.ru) -- self-hosted бэкенд на FastAPI для управления лампами WiZ по локальной сети. Используемые эндпоинты:
|
Приложение работает с [Ignis Core API](https://git.akokos.ru) -- self-hosted бэкенд на FastAPI для управления лампами WiZ по локальной сети. Используемые эндпоинты:
|
||||||
@@ -118,8 +129,9 @@ flutter test
|
|||||||
## Текущие ограничения
|
## Текущие ограничения
|
||||||
|
|
||||||
- Целевая платформа сейчас Android.
|
- Целевая платформа сейчас Android.
|
||||||
- API-ключи пока хранятся в `SharedPreferences`; это следующий приоритетный технический долг.
|
- Release APK пока подписывается debug-ключом из Flutter-шаблона.
|
||||||
- Архитектура всё ещё содержит крупный `providers.dart` и много сырых `Map<String, dynamic>`.
|
- Архитектура всё ещё содержит крупный `providers.dart` и много сырых `Map<String, dynamic>`.
|
||||||
|
- Обработка ошибок стала лучше на bootstrap/polling, но ещё не унифицирована по всем экранам.
|
||||||
|
|
||||||
## Лицензия
|
## Лицензия
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user