Для реализации приложения выбрана архитектура MVVM, она наиболее простая и требует наименьшего количества затрат, при этом достаточно эффективна. Используется стандартный набор библиотек для ее реализации, такие как ViewModel, Coroutine (наблюдение за состоянием), Hilt (инъекция зависимостей).
Для навигации между экранами использутеся библиотека Navigation Component
Для отображения и кэширования изображений используется библиотека Glide
Для работы с локальной базой данных используется библиотека Room
Для http-запросов на сервер используется библиотека Retrofit