this is the client part that uses the Ktor server
- Minimum SDK level 21.
- Kotlin+ Coroutines + Flow for asynchronous + LiveData.
- Hilt for dependency injection.
- JetPack
- Lifecycle - dispose observing data when lifecycle state changes.
- ViewModel - UI related data holder, lifecycle aware.
- Architecture
- MVVM Architecture (View - ViewBinding - ViewModel - Model)
- Repository pattern
- Material Design - Design system created by Google to help teams build high-quality digital experiences.
- Retrofit2 & OkHttp3 & OkHttp4 - Construct the REST APIs and paging network data.
- Coil - Image loading for Android backed by Kotlin Coroutines.
- ImagePicker - library to Pick an image from the Gallery or Capture image using Camera.
- Kotlin-KTX - set of Kotlin extensions that are included with Android Jetpack and other Android libraries.
- SwipeRefreshLayout - swipe to refresh layout