/Android-MVVM-Dagger-Hilt-Boilerplate

A sample project in Kotlin to demonstrate Androidx, MVVM, RxJava3, Dagger2, Hilt, Apollo Graphql and repository pattern

Primary LanguageKotlinApache License 2.0Apache-2.0

Android-MVVM-Dagger-Hilt-Boilerplate

This repository contains a sample project in Kotlin to demonstrate Androidx, MVVM, RxJava3, Dagger2, Hilt, Apollo Graphql and repository pattern

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. RxJava3: https://github.com/ReactiveX/RxAndroid
  2. Dagger2: https://dagger.dev/
  3. Glide: https://github.com/bumptech/glide
  4. Apollo Graphql: https://www.apollographql.com/
  5. MVVM Architecture : https://developer.android.com/jetpack/guide

Concept reference resources:

  1. Dagger2 in Detail - Everything you need to know
  2. Introducing Hilt for Dagger2
  3. Migrating Dagger2 to Hilt
  4. Introduction to Apollo Graphql
  5. Migrating from RxJava 1.0 to RxJava 2.0 and Learn RxJava by Examples