Skip to content

It's a typical list-detail app. Simple Android app template utilizing Jetpack Compose, suitable for creating general Android native apps

Notifications You must be signed in to change notification settings

mykola-kichatov/android-clean-template

Repository files navigation

android-clean-template

Simple Android app, template repository, that can be used as a basic structure for general Android native apps. Here I try to use the best features and practices that I've got from my experience.

Clean Architecture

There are 3 main modules in the project:

  • domain is written in pure kotlin, no other dependencies. All business logic should be located here
  • data module includes all repositories implementations with DB and network layers
  • app is responsible for presentation. It's an android application module, based on MVVM and Compose

Features and technologies

  1. Gradle build config is based on Kotlin DSL and version catalogs
  2. Dependency injection with Hilt
  3. Jetpack Compose
  4. Conditional navigation, using declarative approach
  5. Unit tests using JUnit5 and MockK
  6. Shared Element Transitions in Compose
  7. etc.