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
Kotlin
and is based onMVVM architectural pattern
- Dependency Injection is implemented using
Dagger2
- Data binding using
Data Binding
- Unit testing is achieved with
JUnit
,Mockito
,PowerMockito
andMockWebServer
- Application uses a single-activity architecture, while using the
Navigation component
for managing fragment transactions. - Android architecture components, along with
Kotlin Coroutines
for 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
,domain
anddata
to 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