The Coding Exercise
Technologies used:
- Kotlin (the task was to write the app in Kotlin)
- Koin as a DI Framework (Deploying Koin is way faster than Dagger so at least for small projects it makes sense to use Koin instead of Dagger)
- Coroutines (seems well-working along with the architecture components. The codebase is definitely more readable than an analogous codebase with RxJava.)
- Android Architecture Components
- Room
- Retrofit
Using coroutines has its own limitations. There were a lot of articles/StackOverflow questions/Forum Discussions on testing but they were not very helpful (example). I hope that the new version of kotlin-coroutines-test will solve most of these problems.
The app itself can also be improved. Here are a couple of examples:
- Using icons or covers of albums in the list of albums;
- Using real user's name in descriptions of the albums instead of their IDs.