This series takes a basic MVP app using Retrofit and RxJava to display a list of Github repositories; and converts it into a modern Android app - along the way it will give an introduction to a variety of techniques used when architecting Android apps, explain why those techniques are used, and perform a few experiments.
Link to snapshot
The app fetches github repositories for a user, shows further details about the repository, and allows navigation to the actual repository.
The apps is built in Kotlin and architected with a simple version of MVP. It also uses Retrofit and RxJava. Beyond that, it doesn't have much.
Link to snapshot
Adds a basic form of dependency injection with dagger. DI is only used for object creation - fancy features arn't included.
Link to snapshot
Converts the MVP pattern into a basic version of MVVM. No supporting libraries - such as LiveData, Lifecycle, and ViewModel are used ot achieve this.
Link to snapshot
Converts the app to use Google suggested single activity architecture supported by the navigation androidx library. Plus makes use of a
funky DI pattern to abstract UI code.