This is a sample project that presents a modern, 2020 approach to Android application development with MVVM design pattern and eventually up to date tech-stack.
The goal of the project is to demonstrate modern Android application Architecture that is modular, scalable, maintainable, and testable. This application may look quite simple, but it has all of these small details that will set the rock-solid foundation for the larger app suitable for bigger teams and long application lifecycle.
This project is being maintained to match current industry standards.
This project brings to table set of best practices, tools, and solutions:
- 100% Kotlin
- Model-View-ViewModel
- Android Jetpack
- A single-activity architecture (Coming soon) (Navigation component)
- Reactive UI
- CI pipeline (Coming soon) (GitHub Actions)
- Unit Testing (Coming soon)
- Dependency Injection
- Material design
Min API level is set to 21, so the presented approach is suitable for over
94% of devices running Android. This project takes advantage of many
popular libraries and tools of the Android ecosystem. Most of the libraries are in the stable version unless there is a
good reason to use non-stable dependency.
- Tech-stack
There are a few ways to open this project.
- Android Studio -> File -> New -> From Version control -> Git
- Enter
https://github.com/bhavinmdesai/MVVMArchitectureinto URL field
- Run
https://github.com/bhavinmdesai/MVVMArchitecture - Android Studio -> File -> Open
This is project is a sample, to inspire you and should handle basic cases, but please take a look at additional resources.
- Android Ecosystem Cheat Sheet - board containing 200+ most important tools
- Kotlin Coroutines - Use Cases on Android - most popular coroutine usages
Other high-quality projects will help you to find solutions that work for your project:
- Iosched - official Android application from google IO 2019
- Android Architecture Blueprints v2 - a showcase of various Android architecture approaches
- Android sunflower complete
Jetpacksample covering all libraries - GithubBrowserSample - multiple small projects demonstrating usage of Android Architecture Components
- Plaid - a showcase of Android material design
- Clean Architecture boilerplate - contains nice diagrams of Clean Architecture layers
- Android samples - official Android samples repository
- Roxie - solid example of
common stateapproach together witch very good documentation - Kotlin Android template - template that lets you create an Android/Kotlin project and be up and running in a few seconds.