ece80dc723
GitHub/home/kalinamall — разные URL в scripts/readme/; push-remotes.sh для зеркал.
4.1 KiB
4.1 KiB
Стек
| Слой | Технология |
|---|---|
| UI | Kotlin, Jetpack Compose, Material 3 |
| Сеть | Retrofit / OkHttp, Kotlin Serialization |
| Хранение | DataStore + Android Keystore (токены, URL сервера) |
| Push | Firebase Cloud Messaging (FCM) |
| Минимум SDK | Android 8.0 (API 26) |
Что есть в приложении
- Обзор, события, отчёты, проблемы, хосты (списки и карточки с читаемыми полями)
- Pull-to-refresh на обзоре и в списках
- Фильтры событий и проблем (severity, status)
- Формат даты/времени на выбор (слэш, дефис, точка или системный локаль)
- Ack / Resolve для роли
operatorи выше - Push с переходом в карточку события или problem; режимы: со звуком, без звука, выключено
- Выбор звука уведомления: системный или свой (ringtone picker)
- Биометрическая блокировка при запуске и при возврате в приложение
- Экран «Моё устройство»: сервер, пользователь, роль, версия, настройки push, выход
- Первичная привязка к серверу по коду регистрации, который выдаёт администратор в веб-SAC
Чего нет в приложении (только веб)
- Управление пользователями SAC
- Настройки каналов (Telegram, SMTP, webhook), severity, policy
- Выдача и отзыв кодов регистрации, список устройств, способ входа на устройство — всё это в Настройки → Мобильные устройства на сервере
Привязка телефона к серверу
- Администратор в веб-SAC включает «Разрешать подключение мобильных устройств».
- Создаёт код регистрации для пользователя (срок действия, одноразовый или с лимитом использований).
- Оператор в Seaca: URL API SAC (выдаёт администратор) + код + логин/пароль (если код не привязан к предварительной сессии).
- Приложение регистрирует FCM-токен; устройство появляется в списке на сервере.
- Администратор может отключить устройство, сменить разрешённый способ входа, переименовать.
Подробный план — docs/ROADMAP.md.
Статус
Версия: 0.5.7 (Android: Kotlin, Compose; enroll, UI, ack/resolve, FCM, биометрия, звук push, форматы даты)
Документация
| Документ | Назначение |
|---|---|
| docs/operator-guide.md | Инструкция для оператора |
| docs/ROADMAP.md | План разработки |
Сборка
Требуется JDK 17+ (Android Studio JBR или отдельная установка) и Android SDK (local.properties с sdk.dir=…).
# Опционально: конфиг Firebase в app/ (шаблон *.example, рабочий файл не в git) — для FCM
./gradlew assembleDebug
# Windows:
gradlew.bat assembleDebug
APK: app/build/outputs/apk/debug/app-debug.apk
Без конфига Firebase приложение собирается, но FCM не инициализируется (просмотр данных работает).
Лицензия
Как у остальных репозиториев семейства SAC (уточняется владельцем проекта).