Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mykola-kichatov/android-clean-template
It's a typical list-detail app. Simple Android app template utilizing Jetpack Compose, suitable for creating general Android native apps
https://github.com/mykola-kichatov/android-clean-template
android clean-architecture compose compose-navigation hilt jetpack-compose junit5 kotlin-coroutines ktlint ktlint-rules mockk mvvm offline-first public-api pure-kotlin retrofit room shared-element-transition template template-repository
Last synced: 9 days ago
JSON representation
It's a typical list-detail app. Simple Android app template utilizing Jetpack Compose, suitable for creating general Android native apps
- Host: GitHub
- URL: https://github.com/mykola-kichatov/android-clean-template
- Owner: mykola-kichatov
- Created: 2021-07-13T20:06:25.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-09-14T13:40:51.000Z (2 months ago)
- Last Synced: 2024-09-14T23:26:52.115Z (2 months ago)
- Topics: android, clean-architecture, compose, compose-navigation, hilt, jetpack-compose, junit5, kotlin-coroutines, ktlint, ktlint-rules, mockk, mvvm, offline-first, public-api, pure-kotlin, retrofit, room, shared-element-transition, template, template-repository
- Language: Kotlin
- Homepage:
- Size: 428 KB
- Stars: 52
- Watchers: 2
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-list - mykola-kichatov/android-clean-template - It's a typical list-detail app. Simple Android app template utilizing Jetpack Compose, suitable for creating general Android native apps (Kotlin)
README
# 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](domain) is written in pure kotlin, no other dependencies. All business logic should be located here
- [data](data) module includes all repositories implementations with DB and network layers
- [app](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](https://developer.android.com/build/migrate-to-catalogs)
2. Dependency injection with [Hilt](https://developer.android.com/training/dependency-injection/hilt-android)
3. Jetpack Compose
4. Conditional navigation, using declarative approach
5. Unit tests using JUnit5 and [MockK](https://mockk.io/)
6. Shared Element Transitions in Compose
7. etc.