kotlin-android-mvvm-template
kotlin-android-mvvm-template copied to clipboard
Simple+Lightweight Template for Jetpack Compose app with Navigation, Retrofit, Dagger-Hilt fully setup for convenience, so you can focus only on what's important!
Kotlin Android MVVM Template
A simple+lightweight template for a Jetpack Compose app with Navigation, Retrofit, Dagger-Hilt fully setup for convenience, so you can focus only on what's important!
"Every line of code should be written once, and only once." - Ron Jeffries
Features 🎨
- Project fully in
Jetpack Compose
- Jetpack Compose Navigation
- Retrofit (Fully setup with a working sample api call)
- MVVM Architecture
- Kotlin DSL
- Chucker
- Dependency versions managed
Gradle Version Catalog
-
Dependabot
(with a weekly schedule) -
GitHub Actions
for building apk and uploading artifact - Glide (for image loading)
Getting Started 👣
- Click on
button to create a new repository from this template
- Few TODOs are added, such as changing package name, server base url, api endpoints, etc to guide through the project (just type TODO after pressing SHIFT key twice in Android Studio, to search for the TODOs)
- Enable Dependabot in repo settings (for ref, a 30 sec video)
- Grant notification permission to app in order for Chucker to work
Project Structure 🗺️📐🛠️
The project includes a single module app
, with following packages:
-
di
: contains Dagger-Hilt Module -
network
: includes api service containing api endpoints & type of request -
model
: contains response data class from the server -
repository
: contains repository interface & its implementation -
presentation
: signifies the presentation layer
Contributing 🤝
Join us in shaping the future of this project – your contributions are invaluable! Feel free to open a issue or submit a pull request for any bugs/improvements.
License
Distributed under the MIT License. See LICENSE
file for more information.