This project represent MVVM architecture with a high awareness of separation of concern, especially between UI component (Activity/Fragment) and ViewModel by using Sealed Class in Kotlin. The intention for this demo project is to capture the logic in the Repository for networking and local storage with different strategies. These strategies are simple class that use coroutine to perform remote data fetching and local saving into local database. Repositories will executed the data gathering tasks and return different wrapped result to the viewmodel. The Viewmodel will take care of the business logic and invoke a proper use cases. Those use cases will be represented as a Sealed Class. Those use cases (Sealed Class) will allow the UI to implement action or state that is required to interact with users.
batman@yopmail.com/trov
By anoulong@gmail.com# trowitter