An Android MVMM structure sample for beginners Kotlin + Live Data + Coroutines.


The app uses MVVM [Model-View-ViewModel] architecture to have a unidirectional flow of data, separation of concern, testability, and a lot more.


What is MVVM?

Model-View-ViewModel (ie MVVM) is a template of a client application architecture, proposed by John Gossman as an alternative to MVC and MVP patterns when using Data Binding technology. Its concept is to separate data presentation logic from business logic by moving it into particular class for a clear distinction.

Clean Simple Architecture


Libraries and tools

  • ViewModel
  • Corountines
  • LiveData
  • Retrofit
  • OkHttp
  • GitHub