GitPedia

Beaver

Android MVVM + Dagger 2 (Hilt) + JetPack project template

From SamYStudiO·Updated May 28, 2026·View on GitHub·

Android Project template using View Model [MVVM](https://developer.android.com/topic/libraries/architecture/index.html) and Repository Data pattern, with [Dagger 2 / Hilt](https://github.com/google/dagger) and [Jetpack (Androidx)](https://developer.android.com/jetpack/) libraries (navigation component, room, worker, etc...). The project is written primarily in Kotlin, first published in 2018. Key topics include: android, androidx, appindexing, crashlytics, dagger2.

Beaver

THIS IS THE REACTIVE (RXJAVA) VERSION, FOR COROUTINES VERSION GO TO COROUTINES BRANCH

Android Project template using View Model MVVM and Repository Data pattern, with Dagger 2 / Hilt and Jetpack (Androidx) libraries (navigation component, room, worker, etc...).

Template includes basic implementation for a launch screen, a home screen, an authentication screen and a profile screen.
Authentication is implemented using OAuth2 and automatically refresh token when a 401 HTTP exception is thrown.

Also features :

  • Permission Launcher Android lightweight library to perform permissions request the right way using ActivityResultCallback.
  • An AlertDialog implementation using DialogFragment that survive state lost and returns actions/results using setFragmentResultListener API. Some kotlin extensions are available to make results even straightforward.
  • Some utilities.
  • Base classes for Adapter/ListAdapter and ViewHolder.
  • Dynamic retrofit url to handle multiple server url (production, pre production, etc...), selector screen/dialog for server not implemented here though.
  • Structured values resources files as recommended(themes, styles, shapes, types).
  • Gradle kotlin DSL.

Common used libraries :

Package structure is inspired from this reading.

Contributors

Showing top 1 contributor by commit count.

View all contributors on GitHub →

This article is auto-generated from SamYStudiO/Beaver via the GitHub API.Last fetched: 6/27/2026