MVVM Architectural pattern
Offline Support
Unit test demonstration using JUnit and Mockito
UI unit test demonstartion using Espresso
Gradle scripts for running sonarqube static code analysis, code coverage, etc.
The application has been built with offline support. It has been designed using Android Architecture components with Room for offline data caching.
a) Android Architectural Components
b) Dagger 2 for Dependency Injection
c) MVVM
d) Retrofit with Okhttp
e) Room for data caching
f) JUnit and Mockito for Unit testing
d) Repository pattern
e) Gson
data: It contains all the data accessing and manipulating components.
di: Dependency providing classes using Dagger2.
ui: View classes along with their corresponding ViewModel.
utils: Utility classes.
viewModel : It's contains viewModels
domain : It's contain apis methods and classes