the goal of this project is to create a responsive application and with optimized networking, a good place to see implementation. moved to wallhaven.cc api from unsplashed api due to rate limits.
-
Tech-stack
- Kotlin + Coroutines - perform background operation
- Retrofit - networking
- Hilt - DI
- Jetpack
- Navigation - deal with whole in-app navigation
- LiveData - notify views about database change
- Lifecycle - perform action when lifecycle state changes
- ViewModel - store and manage UI-related data in a lifecycle conscious way
- Paging3
- ViewBinding
- Tests - local and instrumented unit tests
- PastelPlaceholders - internal image placeholder library
-
Architecture
- Model-View-ViewModel
- Android Architecture components (ViewModel, LiveData, Navigation)
-
Todo
- create more test cases
- UI refactor in compose