This project is coding based on mvvm clean architecure.
This package include all Extension,DI and BaseController(Activity,Fragment,ViewModel,Adapter)
Feature Layer is using mvvm to bind viewmodel with lifeCycleOwner controller. The controller will use viewmodel function to get data from repository.
LifeCycleOwner Controller could have different BehaviorObservers to implement different behavior into lifecycle. For example, ReactiveBehavior provides a CompositeDisposable to add different Observer actions.
Repository layer is an intermidate layer between ui feature and dataSource. The role of this layer is to build usecase and respository doing bussiness logic. It's very flexiable and extendable, could add LocalDataCache system in the future if we really need that.
The Remote DataSource layer is tring to fetch data from network.