BreakingBadSample

Приложение состоит из bottomNavigationView с 3 разделами: Раздел персонажей, поиска и избранных\
В каждом из разделов есть возможность перейти на экран с детальной информацией о выбранном персонаже\
В приложении реализована пагинация в разделе персонажей, добавление в избранное, кеширование данных\

Поиск в приложении работает как локально, используя локальную базу данных, так и глобально, в зависимости от подключения к интернету

Список технологий:

MVVM, так как является современным шаблоном проектирования, с которым без боли можно сохранять состояние экранов, который позволяет облегчить разделение разработки графического интерфейса
Coroutines, потому что входят в Kotlin под капотом, являются удобным и надёжным средством управления фоновыми потоками с помощью упрощенного кода и снижения потребности в обратных вызовов
Hilt для DependencyInjection, так как позволяет инжектить вьюмодели под капотом и является надстройкой над всем известным Dagger'ом
AndroidNavigationComponent, с которым наконец таки стало легко сохранять стек фрагментов в bnv, а так же из-за его safeArgs'ов
Room, как локальная реляционная бд
Gson который упрощает конвертацию Json'a в Kotlin объекты
Glide, который стал стандартом в андроиде по отрисовке изображений
Retrofit, надежный и проверенный типобезопасный Http-client