try out retrofit and glide library basics with dagger2,viewmodel and room
Using dagger2 to inject dependencies for different components
Using view model and repository to seperate view from data, and livedata to continuously observe change in both internet request and database
Needs to work on: The logic between retrofit call and room database needs to be improved
Apply lazy loading for images. Build up memory cache and file cache
...