|
| 1 | +# Android Multi-Module Template |
| 2 | + |
| 3 | +A template for bootstrapping a multi-module android project. It demonstrates clean architecture and has a navigation module based on [this](https://github.com/PhilippeBoisney/android-multi-modules-navigation-demo) |
| 4 | + |
| 5 | +## Top things to learn here |
| 6 | + |
| 7 | +- Multi-module clean architecture |
| 8 | +- Kotlin coroutines with Flow |
| 9 | +- Dependency injection with Dagger-Hilt |
| 10 | +- Unit testing |
| 11 | +- View abstracted from Fragment |
| 12 | +- API request with Retrofit |
| 13 | +- CI/CD with Github actions |
| 14 | +- Code lint check with [Ktlint](https://github.com/pinterest/ktlint) using a [gradle plugin](https://github.com/JLLeitschuh/ktlint-gradle) |
| 15 | +- Static code analysis with [detekt](https://github.com/detekt/detekt) |
| 16 | +- Dependency management with [buildSrc](https://gradle.org/kotlin/) (Kotlin DSL) |
| 17 | +- Dependency updates with [buildSrcVersions](https://jmfayard.github.io/refreshVersions/) |
| 18 | + |
| 19 | +## Libraries |
| 20 | + |
| 21 | +- [Material Components](https://github.com/material-components/material-components-android/) |
| 22 | +- [Constraint Layout](https://developer.android.com/reference/android/support/constraint/ConstraintLayout) |
| 23 | +- [Retrofit](http://square.github.io/retrofit) for REST api communication |
| 24 | +- [Mockk](https://github.com/mockk/mockk) for mocking in tests |
| 25 | +- [Dagger2](https://github.com/google/dagger) for dependency injection |
| 26 | +- [Kotlin Flow](https://kotlinlang.org/docs/reference/coroutines/flow.html) for concurrency |
| 27 | +- [ViewModel](https://developer.android.com/topic/libraries/architecture/viewmodel) & [LiveData](https://developer.android.com/topic/libraries/architecture/livedata) |
| 28 | +- [Navigation Architecture Component](https://developer.android.com/guide/navigation/navigation-getting-started) |
| 29 | +- [ViewBinding](https://developer.android.com/topic/libraries/view-binding) |
| 30 | +- [Kotlin Delegates](https://kotlinlang.org/docs/reference/delegated-properties.html) |
| 31 | +- [Ktlint gradle plugin](https://github.com/JLLeitschuh/ktlint-gradle) for code lint checks |
| 32 | +- [Detekt](https://github.com/detekt/detekt) for static code analysis |
0 commit comments