Android Arch Demo
Project Specification
- Project is developed using MVVM
- Programming language - KOTLIN
- App is fetching data from network and saving them into the DB for local caching.
- Then the app displays the list from cache and request from server if needed.
Libraries used
- android architecture components
- android JetPack
- Retrofit
- Dagger2
- MockK -- Mocking framework for testing
- Fresco
- Room
- RxJava
- Espresso
- Paging
- Navigation
How to compile
- Android Studio (3.5.2)
- Android SDK (29)
Layout Resource naming
Prefer timeline_list_fragment.xml
over fragment_timeline_list.xml
.
It is because it can group the related files together if it is sorted alphabetically.
Also, The databinding codegen will generate TimelineListFragmentBinding.java
which looks more natural than FragmentTimelineListBinding.java
.
Improvements / Not implemented
- UI test should cover more cases
- Can create code generator for MVVM boilerplate
Misc
- Can use
./gradlew useLatestVersions
to update gradle dependency versions