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

