NYTimes
A simple app to hit the NY Times Most Popular Articles API and show a list of articles, that shows details when items on the list are tapped (a typical master/detail app). App is built with MVVM architecture using Hilt, Retrofit, Coroutines, LiveData, RoomDatabase, Database Debugging, DataBinding.
The app has following packages:
- data: It contains all the data accessing, repositories and manipulating components.
- di: Dependency providing classes using Hilt.
- model: It contains data classes and or models.
- ui: View classes along with their corresponding ViewModels.
- utils: Utility classes.
Classes have been designed in such a way that it could be inherited and maximize the code reuse.
Library reference resources:
- Coroutines: https://codelabs.developers.google.com/codelabs/kotlin-coroutines/
- Hilt: https://github.com/googlecodelabs/android-dagger-to-hilt
- Retrofit: https://square.github.io/retrofit/
- Room: https://developer.android.com/topic/libraries/architecture/room.html
- AndroidDebugDatabase: https://github.com/amitshekhariitbhu/Android-Debug-Database
- DataBinding: https://developer.android.com/topic/libraries/data-binding
Run below command for test cases and coverage report in teminal.
./gradlew createDebugCoverageReport