MVVM clean Architecture ViewModel, Repository, RepositoryImp, LiveData, Kotlin
This repository is mainly focus on the MVVM architecture, which used the Repository pattern with Implementation, using SOLID principle, introduction of LiveData, Binding, ViewModel using Factory, kotlin keywords lateinit, lazy, nullable, data classes, and retrofit api call.
Also to use Repository as interface pass to viewmodel, we need the livedata, so we uses the swapMap which is kotlinx feature, which gives the flexibility use the data.