Multi-module application [🚧 under construction] Application for practicing multi-module software architecture. Use case A simple application that consumes a Dog Fact and Dog Picture API using dependency injection, clean code and some clean architecture principles. Layers app [android module] Responsible for holding all UI/Navigation dependencies base [android library] Application layer. It provides all dependency injection graph and makes a bridge between another layers. network [kotlin library] Network APIs and its business rules consuming public APIs. Dog Facts API Dog Picture API features [android module] Dynamic features that consume base and app layer. Android/Kotlin usage KTX libraries ViewBinding Picasso Kotlin flow LiveData Observer Retrofit OkHttp Kodein Dynamic features