Skip to content

An example app exploring how coroutines are used in Android with RoomDB, Apollo Graphql, Dagger-Hilt, Glide, JetPack Libraries, Repository pattern and MVVM Architecture

License

Notifications You must be signed in to change notification settings

android-imdad/Android-Kotlin-Coroutines

Repository files navigation

Android-Kotlin-Coroutines

An example app exploring how coroutines are used in Android with RoomDB, Apollo Graphql, Dagger-Hilt, Glide, JetPack Libraries, Repository pattern and MVVM Architecture

The app has the following base packages:

  1. data: It contains all components to access and manipulate data.
  2. di: Dependency providing classes using Hilt & Dagger2.
  3. ui: View classes along with their corresponding ViewModel.
  4. utils: Utility classes.

Classes have been designed in such a way that it could be inherited and maximize the code reuse.

Library reference resources:

  1. Kotlin Coroutines : https://kotlinlang.org/docs/reference/coroutines-overview.html
  2. RoomDB - https://developer.android.com/topic/libraries/architecture/room
  3. Dagger2: https://dagger.dev/
  4. Glide: https://github.com/bumptech/glide
  5. Apollo Graphql: https://www.apollographql.com/
  6. MVVM Architecture : https://developer.android.com/jetpack/guide
  7. WorkManager : https://codelabs.developers.google.com/codelabs/android-workmanager/#0

Concept reference resources:

  1. Introduction to Kotlin Coroutines
  2. Advanced Kotlin Coroutines
  3. Introduction to RoomDB in Kotlin
  4. Dagger2 in Detail - Everything you need to know
  5. Introducing Hilt for Dagger2
  6. Migrating Dagger2 to Hilt
  7. Introduction to Apollo Graphql