Sample currency exchange project :
- Dagger-hilt for DI,
- Kotlin coroutines
- Flow for implementation.
- Store token in a secure manner : moved to local.properties [https://blog.mindorks.com/using-local-properties-file-to-avoid-api-keys-check-in-into-version-control-system]
TODO :
- Move Base URL to BuildConfig
- Implement Tests
Currencies API Response : https://github.com/alokomkar/CurrencyExchange/blob/master/local/src/main/res/raw/currencies.json
Supported currencies API Response : https://github.com/alokomkar/CurrencyExchange/blob/master/local/src/main/res/raw/exchange.json
References :
- https://www.raywenderlich.com/1423941-kotlin-coroutines-tutorial-for-android-getting-started
- https://www.raywenderlich.com/2117501-kotlin-coroutines-tutorial-for-android-advanced
- https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/index.html
- https://github.com/Kotlin/KEEP/blob/master/proposals/coroutines.md
- https://www.raywenderlich.com/9799571-kotlin-flow-for-android-getting-started
- https://developer.android.com/training/dependency-injection/hilt-android