Skip to content

unclled/SWapi

Repository files navigation

Star Wars Archives

Android-приложение для просмотра информации о персонажах вселенной Звездных Войн. Данные загружаются из swapi.dev.

Скриншоты

Особенности дизайна

Приложение выполнено в футуристичном стиле, отходя от стандартных Material-карточек в сторону интерфейсов «бортовых компьютеров».

Технологический стек

Проект написан на Kotlin с использованием актуальных библиотек:

  • UI: Jetpack Compose (Material 3).
  • Архитектура: Clean Architecture (разделение на модули :data, :domain, :presentation).
  • DI: Hilt.
  • Сеть: Retrofit 2 + Kotlinx Serialization.
  • База данных (Кэш): Room.
  • Пагинация: Paging 3 (RemoteMediator для связки БД и Сети).
  • Навигация: Navigation Compose (Type-safe маршруты).
  • Асинхронность: Coroutines & Flow.

Реализация требований ТЗ

  1. Оффлайн-режим: Приложение сначала загружает данные из локальной БД. При наличии сети данные обновляются.
  2. Навигация: Реализована поддержка системной кнопки «Назад» и кастомная стрелка в TopBar на внутренних экранах.
  3. Обработка состояний: Добавлены экраны загрузки (Progress Indicator), обработки пустых списков и ошибок сети.
  4. Модульность:
    • :domain — чистая бизнес-логика (UseCases, модели, репозитории).
    • :data — реализация API, БД и маппинг данных.
    • :presentation — UI-компоненты, ViewModels и навигация.

About

Test assignment as part of the selection process for a vacancy

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages