- Import into Android Studio, click run, and just get started building a scalable maintainable app (update to the latest Android Studio version).
- Rename everything prefixed with Rename (How to rename a package in Android Studio)
git clone https://github.com/pimdhaen/modern-android-template-quick-start.git
Based on the Official Android Documentation:
- Activity Structure: Single Activity Architecture
- Design Pattern: MVVM (Model-View-ViewModel)
- Modularization: 1 Module
app/
src/
main/
java/com/renamecompanyname/renameappname
ui/
- Contains all UI-related stuff; Screens, Compose Navigationpresentation/
- ViewModels for handling UI datamodel/
- Data modelsdata/
- Data management classesdi/
- Dependency Injection class modules
res/
- Resources like layouts, drawables, and strings
test/
- Unit testing filesandroidTest/
- Android specific Instrumentation testing files
- MongoDB - NoSQL Database MongoDB, note there is a nice free tier for a MongoDB BAAS. Easily replace with Room if you prefer.
- Hilt - Hilt Dependency Injection for a future-proof maintainable codebase. (I recommend Koin for KMP)
- Compose Navigation - Up-to-date Official Jetpack Compose Type-Safe Navigation.
- Ktor Android - For networking.
- Jetpack Compose - The Official Android Declarative UI-Kit.
- Material 3 - The latest version of Material Design.
- Firebase Crashlytics (Planned) - For crash reporting.
- In-App Updates - code in ui/utils/AppUpdater.kt
- In-App Reviews - Google Play In-App Review API for collecting user rating and comment
- KtLint - For code quality.
- Coil - An image loading library for Android backed by Kotlin Coroutines.
- Compose Shimmer - A shimmer loading effect for composables
Don't hesitate!
This project is licensed under the MIT License. Feel free to use it for your projects.