Перейти к основному содержанию

Предварительные условия

Перед клонированием репозитория и компиляцией проекта необходимо установить и настроить на машине разработки следующее программное обеспечение.

Среда разработки​

ИнструментМинимальная версияЗаметки
AndroidСтудияЕжик (2023.1.1) или вышеРекомендуется последняя стабильная версия
ЯДК11Настроен как sourceCompatibility и targetCompatibility в модуле :app
Градл8.13Управляется оболочкой, включенной в репозиторий (gradlew)
Android SDK (compileSdk)36Установить из Android Studio SDK Manager
Android SDK (minSdk)24 (Android 7.0 Нуга)Приложение не устанавливается на предыдущие версии
Котлин2.0+Управляется плагином kotlin.android, объявленным в build.gradle.kts

Требуются сервисные учетные записи​

Проект зависит от двух внешних серверов, для которых требуются активные учетные записи:

Супабаза

Вам нужен проект Supabase с таблицами схемы, описанными в Base de datos. Учетные данные (SUPABASE_URL и SUPABASE_KEY) объявлены как константы в AppConfig.kt. Для производственных сред рекомендуется переместить их в файл local.properties или в переменные среды и не включать реальные значения в репозиторий.

Огневая база

Требуется проект Firebase с включенной службой Data Connect. Файл google-services.json необходимо скопировать в app/google-services.json. Этот файл не следует загружать в репозиторий, если проект является публичным.

Разрешения, необходимые приложению​

AndroidManifest.xml декларирует следующие разрешения:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
<uses-permission android:name="android.permission.USE_EXACT_ALARM" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
РазрешениеТипЦель
INTERNETНормальныйДоступ к Supabase и Firebase
ACCESS_NETWORK_STATEНормальныйПроверка подключения
POST_NOTIFICATIONSВремя выполнения (Android 13+)Показывать уведомления о напоминаниях о резервировании
SCHEDULE_EXACT_ALARMНормальныйУстановите точные сигналы для напоминаний
USE_EXACT_ALARMНормальныйДополнительная гарантия точности сигналов тревоги в API 33+
RECEIVE_BOOT_COMPLETEDНормальныйЗаявлено для будущего перепрограммирования сигнализации после сброса

Разрешение POST_NOTIFICATIONS запрашивается во время выполнения от MainActivity.onCreate() на устройствах под управлением Android 13 (API 33) или более поздней версии. В предыдущих версиях разрешение предоставлялось автоматически. Приложение по-прежнему работает без этого разрешения, но не будет отправлять напоминания.

Сетевое подключение необходимо для работы приложения, поскольку все операции с данными выполняются удаленно.