Skip to content

Latest commit

 

History

History
33 lines (27 loc) · 2.31 KB

File metadata and controls

33 lines (27 loc) · 2.31 KB

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 и навигация.