- Notifications
You must be signed in to change notification settings - Fork126
An Android Template with MVVM and Clean Architecture
License
NotificationsYou must be signed in to change notification settings
Drjacky/MVVMTemplate
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A simple Android template that lets you create anAndroid project quickly.
Just clickonbutton to create a new repo starting from this template.
For the compose version, which is under development, switchtofeature/compose branch.
- 100% Kotlin-only template
- FollowingClean Architecture approach
- Following MVVM Architectural Design Pattern
- Template Project
- RxJava 3 - Reactive Extensions for the JVM
- Coroutines - A concurrency design pattern library
- Flow - Built on top of coroutines and is stream of data that can be computed asynchronously
- Simplest Adapter Ever (based on thisworkaround)
- Github Actions - CI
- Hilt - Dependency Injection framework
- Transition - Animation
- Paging V3 - Pagination
- View Binding - View Binding
- OkHttp3 - Network interceptor
- Retrofit - HTTP client
- Glide - Loading images
- Timber - Log
- Gson - JSON library
- Material Components - Material Design
- Lottie - Vector animation library
- Kotlin DSL - Alternative syntax tothe Groovy DSL
- Detekt - Static code analysis for Kotlin
- Gradle Doctor - Gradle build scan plugin
- Navigation - Navigate through the app
- LeakCanary - Memory leak detection
- Chucker - An HTTP inspector for Android & OkHTTP
- StrictMode - A developer toolwhich detects things you might be doing wrong by accident
- Dark/Light Theme -Support dark/light themes
- DataStore - Data storagesolution that allows you to store key-value pairs or typed objects
- AutoDispose - Automatically binding the execution of RxJavastreams to a provided scope
- Dependency Analysis - Dependency analysis android gradle plugin
- Sonatype Scan Gradle Plugin-Gradle plugin that scans the dependencies of a Gradle project using Sonatype platforms: OSS Indexand Nexus IQ Server.
Add CIUse Kotlin DSL- Add Espresso, Instrumentation & Unit tests. To see a part of changes, clickhere.
Use Animations. To see changes, clickhere.Use Hilt. To see changes, clickhere.Migrate toHilt 2.31. To see changes, clickhere.Use Paging V3. To see changes, clickhere.Use ViewBinding. To see changes, clickhere.- Migrate toJetPack Compose
Use detekt. To see changes, clickhere.Add coroutines and flow. To see changes, clickhere.Replace Preferences by DataStore. To see changes, clickhere.Migrate from RxJava 2 to RxJava 3. To see changes, clickhere.Add Custom Rx Adapter for Network Response Handling. To see changes, clickhere.
This template is usingGitHub Actions as CI.
Available workflows listed as follows:
- Validate Gradle Wrapper - Checks the gradle wrapper has a valid checksum.
- Pre Merge Checks - Runs
build
task. - Android - Runs
assembleDebug
task.
- Gradle Doctor:
dependencyUpdates
- Displays the dependency updates for the project. - Detekt:
detektAll
- Run the static Kotlin code analysis for the whole project at once. - The Dependency Analysis:
buildHealth
- Provides advice for managing dependencies and otherapplied plugins. - Sonatype Scan Gradle Plugin - AKA Sherlock Trunks:
ossIndexAudit
- Scans the dependencies of aGradle project using Sonatype platforms; OSS Index and Nexus IQ Server.
- The Punk API
- Right or Left animation by Marco Martina on LottieFiles
- Loading Beer animation by Hashim Irfan on LottieFiles
Feel free to open an issue or submit a pull request for any bugs/improvements.
About
An Android Template with MVVM and Clean Architecture