This project is an Android application that fetches a list of dog breeds and subbreeds.
- Clean Architecture with MVVM
- Kotlin Coroutines with Flow
- Dagger Hilt
- Kotlin Gradle DSL
- Git pre-commit hook powered by Ktlint
- Github actions that runs on every PR raised
To build this project, you require:
- Android Studio 4.2 Beta 4 or Android Studo Artic Fox
- Gradle gradle-6.7.1
- Viewmodel - Presenter for persisting view state across config changes
- Room - Provides abstraction layer over SQLite
- Navigation Component - Helper Jetpack library to handle activity/fragment navigation
- kotlinx.coroutines - Library Support for coroutines
- kotlinx.coroutines.test - Library Support with
runBlockingTest
coroutine builder used in tests - Kluent - "Fluent Assertions" library written specifically for Kotlin.
- Turbine - Turbine is a small testing library for kotlinx.coroutines Flow.
- Robolectric - Unit test on android framework.
- AndroidX Test - Utility libraries/wrappers for Test on Android
- Ktlint - Linter for Kotlin projects
- Dagger Hilt - handles dependency injection
- Kotlin Gradle DSL
- MockK - Mocking library powered by Kotlin