Android app written in Kotlin which displays a list of characters from Marvel API and device contacts. The uses MVVM and Architecture components to make the code clean and the app maintainable, scalable, readable and testable.
- Kotlin
- Clean architecture using MVVM
- Architecture components (ViewModel and Livedata) that allow data to survive configuration changes such as screen rotations
- RxJava 2 to extend the observer pattern supporting sequences of data and operations with them. This library makes possible a layered design making the code more testable and clean
- Koin it's a dependency injection framework for Android.
- Mockito/Junit for unit tests
- Retrofit/Moshi handles API calls
- Glide to load images and GIF's
- Navigation component simplifies the implementation of navigation in an Android app
- Paging makes easier load data from a datasource gradually
- Data binding allows to set data to UI components from the layouts using data classes