Start developing your new Android application with this boilerplate. It is completely built on Kotlin and Jetpack Compose. Inspired from Now in Android, follows the official architecture guidance e.g. Modern App Architecture in conjunction with MVVM, UseCases and Repository pattern.
- A reactive and layered architecture
- Unidirectional Data Flow (UDF) in all layers of the app
- A UI layer with state holders to manage the complexity of the UI
- Coroutines and Flows
- Dependency injection best practices.
- Install Android Studio
- Setup environment variables for Android.
- Clone this repo
git clone https://github.com/ar9t4/android-boilerplate-jpc-mvvm.git
- Open the project with Android Studio and let it download gradle dependencies
- Connect an Android device or Android Emulator
- Click on Run project
- Woah, You are Done!
- Modern App Architecture in conjunction with MVVM, UseCases and Repository pattern
- Kotlin Coroutines with Flows
- Jetpack Compose
- Jetpack Navigation
- Hilt Dependency Injection
- Retrofit: Fetching list of random users from Random User Generator
- Room Database: Stores list of random users
- Preferences
- Work Manager: A pre-defined recurring scheduled work manager job
- Multi-Lingual support: In-App Localization with 16 languages support
- Dark Theme support: System Default, Light Mode and Dark Modes
- Pre-defined Settings, Themes, Languages, Feedback and More screens
- Kotlin - The official language for Android development
- Coroutines - For executing background/async jobs
- Flows - For consuming async data streams
- ViewModel - For holding and exposing state to the UI in lifecycle aware manner
- Jetpack Compose - For building native UI
- Compose Navigation - For navigation between screens
- Hilt - For dependency injection
- Room - For local database support
- Work Manager - For executing a one time or recurring scheduled task(s)
- Retrofit - For network communication support
Light Mode | Dark Mode |
PR's created as per Official Guidelines are always welcome.