Данный проект является учебным примером для курса "Android Professional" от OTUS, посвященным архитектурному паттерну MVI (Model-View-Intent).
Проект демонстрирует реализацию одной и той же простой функциональности (загрузка и отображение списка персонажей) с использованием различных подходов к организации архитектуры Android-приложения:
- MVVM - классический паттерн Model-View-ViewModel
- MVI Manual - ручная реализация MVI архитектуры
- MVI Roxie - использование библиотеки Roxie для MVI
- MVI MVICore - реализация с использованием фреймворка MVICore от Badoo
- MVI MVIKotlin - использование библиотеки MVIKotlin от Arkivanov
- MVI OrbitMVI - реализация с использованием фреймворка OrbitMVI
Приложение использует открытое API Rick and Morty для загрузки списка персонажей и отображает их в виде карточек с изображениями и именами. Реализованы следующие возможности:
- Загрузка списка персонажей при старте
- Pull-to-refresh для обновления данных
- Обработка ошибок с отображением Toast сообщений
- Loading состояния во время загрузки