Awesome Open Source
Awesome Open Source


This is a simple sample Android app written in Kotlin, to showcase how to use Kodein dependency injection in your app. It uses MVVM Architecture, Architecture Components and Kodein to provide a robust base to the app. The Retrofit library is used to fetch jokes along with the RxJava 2 and RxAndroid 2 which handles connections asynchronously and makes the app more reliable.

Dependency Injection has been layered into 3 separate Modules for better structure: AppModule, ActivityModule and FragmentModule

SupportFragment has been used to support Architecture Component ViewModel. (Fragment has also been deprecated since Android P)

Kodein is a viable replacement over Dagger 2 which is less complex and easier to setup (But requires more Boilerplate and needs Context for injection). Personally I feel, Kodein is suitable for smaller projects


This app can be used as a base template for yor Android Apps and can be used as a template for your apps.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
android (6,366
kotlin (3,673
mvvm (334
android-application (282
android-app (244
dependency-injection (222
mvvm-architecture (111
viewmodel (101
databinding (75
architecture-components (64
mvvm-android (50
dependency-manager (48
dependency (28
mvvm-pattern (23