A template for bootstrapping a multi-module android project. It demonstrates clean architecture and has a navigation module based on this
- Multi-module clean architecture
- Kotlin coroutines with Flow
- Dependency injection with Dagger-Hilt
- Unit testing
- View abstracted from Fragment
- API request with Retrofit
- CI/CD with Github actions
- Code lint check with Ktlint using a gradle plugin
- Static code analysis with detekt
- Dependency management with buildSrc (Kotlin DSL)
- Dependency updates with buildSrcVersions
- Material Components
- Constraint Layout
- Retrofit for REST api communication
- Mockk for mocking in tests
- Dagger2 for dependency injection
- Kotlin Flow for concurrency
- ViewModel & LiveData
- Navigation Architecture Component
- ViewBinding
- Kotlin Delegates
- Ktlint gradle plugin for code lint checks
- Detekt for static code analysis