Skip to content

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.

License

Notifications You must be signed in to change notification settings

ferhatozcelik/android-mvvm-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Android MVVM Template

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.

Project Architecture

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.

Technologies and Libraries Used

  • 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.

Getting Started

  1. Clone this repository: git clone https://github.com/ferhatozcelik/android-mvvm-template.git
  2. Open the project in Android Studio.
  3. Build and run the app.

Feel free to customize and extend this template to match the requirements of your specific project.

Author

👤 Ferhat OZCELIK

License

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!

About

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.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages