Skip to content

naburnm8/queueApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Приложение адаптивной очереди

Инструкция по запуску

  1. Необходимо установить Android SDK (36.1 >) и, предпочтительно, Android Studio
  2. Склонировать репозиторий и перейти в корневую папку проекта
  3. Создайте в корне проекта файл local.properties и заполните там следующие значения:
#Например, для Windows: C\:\\Users\\[ВАШЕ ИМЯ ПОЛЬЗОВАТЕЛЯ]\\AppData\\Local\\Android\\Sdk
sdk.dir=[ПУТЬ ДО ANDROID SDK]
#URL, который будет использоваться для REST запросов в конфигурации dev, например: http://10.0.2.2:8081
api.base.url=[URL БЭКЭНДА]
#Сокет, который будет использоваться для STOMP в конфигурации dev, например: 10.0.2.2:8081
api.socket=[SOCKET]
  1. Собрать и развернуть приложение на устройство\эмулятор

Для корректной работы всех функций приложения необходимо запустить бэкэнд, который должен быть доступен по URL и сокету из local.properties

Используемые технологии

Приложение построено по архитектурному шаблону MVVM, в качестве основного языка программирования используется Kotlin. Помимо этого, приложение построено в стиле "single activity" и использует навигацию и состояния для перехода между экранами или изменения экранов.

Список основных используемых технологий:

  • Для UI используется Jetpack Compose, взаимодействие слоя ViewModel с UI осуществляется через StateFlow.

  • Для асинхронности в проекте используются корутины, взаимодействие с REST API реализовано с помощью библиотеки Retrofit и сериализатора kotlinx.serialization.

  • Навигация в проекте реализована через навигационные графы и NavHost с использованием вложенных графов (fun NavGraphBuilder....).

  • Реализация STOMP взаимодействия выполнена с помощью сторонней библиотеки, которая реализует протокол и интерфейс для реагирования на события STOMP через rxjava2.

  • Для DI в проекте был использован Koin.

  • Для взаимодействия с локальными данными приложения используется DataStore.

  • Для unit-тестирования используется Robolectric, а также реализовано нескольно instrumented-тестов.

About

Adaptive queue app

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages