A challenge from SweatWorks for Android
Support: Android 4.1 (API level 16) and above
- RxKotlin //Threading
- Material //Design
- ViewModel //Lifecycle
- Retrofit //Networking
- Gson //JSON parser
- Lottie //Animations
- Picasso //Image handler
- CircleImageView //Circle ImageView
MVI - A Reactive Architecture Pattern for Android
- resources: fonts, strings, images, generated files etc.
- mvibase: interfaces that describes behavior of MVI
- models: model objects
- modules: contains app modules (UI + Code + MVI Interfaces/Impl)
- network: retrofit implementations
- repository: data handling
- utils: extension and utility classes
Ease of amending or adding a feature High. Side effects are restrained and since every part of the architecture has a well defined purpose, adding a feature is only a matter of creating a new isolated processor and plug it into the existing stream. Learning cost Medium as reactive and functional programming, as well as Observables are not trivial.
- Write Functional/Instrumental/UI Tests