Application allow to find images from service "https://pixabay.com/" by public API.
🔵 Libs:
- Kotlin
- Coroutines / Flow
- Hilt
- Coil
- Retrofit 2, Moshi
- Room, Paging
- ViewBinding, Navigation
🔵 Testing:
🔵 Plugins:
🔵 MVVM
🔵 Modules
- :app
- :uiSearch
- :uiDetails
- :uiCommon
- :domain
- :data
- :testCommon
👉 buildSrc folder to place general conventions that can be used in any modules
👉 all project dependencies described in Dependencies.kt file (placed in buildSrc folder)
👉 androidLibraryBaseConvention.gradle.kts file contains dependencies for any modules
👉 androidLibraryUiConvention.gradle.kts file contains dependencies for any UI modules, extend androidLibraryBaseConvention
👉 caching based on the Room DB, with Paging 3, used RemoteMediator
👉 Ktlint plugin to format & check style
👉 Detekt plugin to check style
👉 Unit tests
👉 Instrumental tests
./gradlew codeFormatAndCheck
./gradlew allTest
👉 SSL-pinning
👉 API key placed in
rootDir/buildSrc/src/keys/apikeys.properties
and on the real project file should be added to .gitignore