/ModularizationExample

Easy to understand real-life example of a modularized Android app

Primary LanguageKotlinMIT LicenseMIT

About

While there are quite some good Android sample projects available such as Plaid, Bandhook or Sunflower, there isn't one that only focusses on how to architect/configure a multi-module application.

This repository demonstrates a clearly defined, hierarchical three-layered architecure consisting of

  • one App module
  • several feature modules: login, dashboard and sharing
  • several library modules: actions, ui-components

It shows how to split an app in logical vertical slices, how to handle in-feature and across feature navigation (using navigation components), how each module can be tested and how to organize dependencies and build.gradle files.

To learn more, have a look at the following posts:

Modularized architecture

Note that all code runs and executes, but the screens only contain data in xml preview. This means running the app provides a very "empty experience", but it also keeps the example simple and focussed.

Features

Login

Login feature navigation graph

Dashboard

Dashboard feature navigation graph

Sharing

Sharing feature navigation graph