Skip to content

alexxk2/StarsWarsCitizen

Repository files navigation

StarsWarsCitizen

Приложение для поиска и сохранения любимых персонажей, планет и звездолетов из вселенной StarWars. Приложение состоит их трех экранов с bottom navigation.

Экран поиска
На экране поиска можно найти нужного персонажа или объект по ключевому слову, поиск срабатывает только при вводе двух и более символов, также реализован debaunce в 2 секунды для поиска и дебаунс в 3 секунды для проверки условия >= 2 символа в поиске. Список найденного выводится в recyclerView. В зависимости от объекта (планета, человек, звездолет) будет отображатся соответствующий значок в списке поиска. Информация для разных объектов поиска отображается разная. Понравившийся объект или персонажа можно добавить или удалить из избранного по кнопке, изменение статуса отобразится сразу же. При добавлении элемент попадет в Ваш список избранного.

Экран избранного
Список избранного реализован с помощью Room. На главных экранах (поиск и избранное) реализована модель LCE. Если поиск не дал результатов или была какая-то ошибка - будет соответствующая заглушка.
На экране избранного Вы видите элементы, которые добавили. С этого экрана также можно удалить из избранного. При поиске все элементы проверяются на наличии в избранном и отобразятся с актуальным статусом.

Экран настроек
На экране настроек можно выбрать темную или светлую сторону Силы))(темная/светлая тема приложения).
Добавлен splashScreen.

Используемый стек

  • Kotlin
  • Clean Architecture
  • Koin
  • Retrofit
  • Room
  • SOLID
  • MVVM (ViewModel, LiveData)
  • RecyclerView & DiffUtil
  • ViewBinding
  • Navigation Component
  • Glide
  • Coroutines
  • SplashScreen

Gif flow приложения