MVVM is a software architectural pattern that ease the separation of the development of the GUI be it via a XML code from the dev. of the back-end logic so that the view is not dependent on any specific model platform in this repo you will see the To-do Android app built by using this design pattern.
Documentation (Model–view–viewmodel architecture in a nutshell)
Model–view–viewmodel (MVVM) is a software architectural pattern that facilitates the separation of the development of the graphical user interface (the view) be it via a markup language or GUI code from the development of the business logic or back-end logic (the model) so that the view is not dependent on any specific model platform. The view model of MVVM is a value converter,meaning the view model is responsible for exposing (converting) the data objects from the model in such a way that objects are easily managed and presented. In this respect, the view model is more model than view, and handles most if not all of the view's display logic.The view model may implement a mediator pattern, organizing access to the back-end logic around the set of use cases supported by the view.
References
Resources used to create this App
List of all modules , libraries & Repo-references to create this App:
Data Binding: It is a is a support library that allows you to bind UI components in your layouts to data sources in your app using a declarative format rather than programmatically. : [https://developer.android.com/topic/libraries/data-binding]