==========================================
This project is a Playground for Kotlin, MVI, Clean Architecture and other things.
- This project uses Marvel API Data provided by Marvel. © 2016 MARVEL
- It is highly inspired / reimplementation of mosby-mvi sample for now. Will improve in future. MVI on top of MVP
- Kotlin implementation is inspired from MVI For Android Video by oldergod
Currently divided into three module :
-
api : For API entities
-
data : For logic, Repositories, Uses Cases, Mappers
-
presentation : Views and Presenters
-
cache module (Future): Using Room in future
presentation --> data --> api/cache
It also consists of a base mvi module which can be re-used. It can be found in the mvvmi
Module.
It extracts away the boilerplate which comes with implementing MVI base for each screen. It can be used in both activities and fragments.
This project uses
- Clean Architecture
- Retrofit for API with Moshi Converter
- Dagger for Dependency Injection
- Timber for logging
- Reclaim for RecyclerView Adapters
- Data Binding
- RxBinding
- Leak Canary
- Architecture Components -
ViewModel
andLiveData
- Spek Framework for testing
- More Features
- Improve Testing
- Improve Documentation
You are welcome to open PRs / issues, Give suggestions and feedback