This is an Android project template that demonstrates the use of the MVVM (Model-View-ViewModel) architecture along with modern Android architecture components. It provides a structured starting point for building Android applications that are maintainable, testable, and scalable.
This app follows the MVVM architecture pattern, which stands for "Model-View-ViewModel." Here's an overview of each component:
- Model: Responsible for data and business logic. Independent of UI.
- View: Displays UI elements and interacts with users.
- ViewModel: Acts as a bridge between Model and View. Manages data presentation and user interactions. UI-independent.
MVVM promotes separation of concerns, making your codebase more organized and easier to manage. It also supports data binding, automatic synchronization of data between ViewModel and View, and allows for more effective testing.
- Kotlin: Programming language for Android development.
- Hilt-Dagger: Dependency injection library for Android.
- Retrofit: Type-safe HTTP client for networking.
- Room: SQLite object mapping library for local data storage.
- Coroutines: Asynchronous programming using Kotlin's coroutine framework.
- LiveData: Observable data holder class for UI components.
- ViewModel: Stores UI-related data that survives configuration changes.
- ViewBinding: Generates binding classes for XML layout files.
- Jetpack Navigation: Handles navigation between different parts of the app.
- Clone this repository:
git clone https://github.com/ferhatozcelik/android-mvvm-template.git
- Open the project in Android Studio.
- Build and run the app.
Feel free to customize and extend this template to match the requirements of your specific project.
👤 Ferhat OZCELIK
- GitHub: @ferhatozcelik
- LinkedIn: Ferhat OZCELIK
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
If you found this template helpful, please consider giving it a ⭐️ on GitHub. Your support is greatly appreciated!