A Simple application which uses the NY Times Most popular Articles API -https://api.nytimes.com/svc and shows a list of articles that shows details when items on the list are tapped.
- Repository is written in
Kotlinand is based onMVVM architectural pattern - Dependency Injection is implemented using
Dagger2 - Data binding using
Data Binding - Unit testing is achieved with
JUnit,Mockito,PowerMockitoandMockWebServer
- Application uses a single-activity architecture, while using the
Navigation componentfor managing fragment transactions. - Android architecture components, along with
Kotlin Coroutinesfor a robust design which is highly testable and maintainable. - Model-View-ViewModel (MVVM) for separation of development of user interface and its flow of data models.
- SOLID design principles are followed which separates the app into three modules
app,domainanddatato make the design more understandable, flexible and maintainable in terms of product sustainability.
On Terminal use the below command for generating debug build:
./gradlew assembleDebug
On Terminal use the below command for generating release build:
./gradlew assembleRelease
- Android Support Library
- Android Architecture Components
- Android Data Binding
- Android Naviation Component
- Kotlin Coroutines
- Dagger 2 for dependency injection
- Retrofit for REST api communication
- Glide for image loading
- Espresso for Android UI tests
- Mockito for evaluating app's logic using local unit tests
- MockWebServer for testing HTTP clients