This application is an example of using modern technologies for Android Development.
Something about my approach:
- I used following stack: Kotlin, RxJava 3, Room, Koin, Retforit, Glide, OkHttp, Jackson, Navigation component and Paging library by Google.
- The page with sources local cache was implemented using Room.
- Paging was implemented for the Articles page using Paging library by Google.
- Navigation between fragments was implemented using Navigation component by Google.
- Koin was chosen for DI instead of Dager which I used to use, and it was a valuable experience.
- I used Clean Architecture. This approach was described by Robert Martin. The application code was divided to different layers according to this approach.
- MVVM pattern was used in presentation layer, I used LiveData and MVVM pattern.
- Core classes were covered by Unit tests.