Demo for Android Viper - MVVM Architecture

Purpose

It demonstrates the way you can combine Dagger 2, RxJava, Retrofit and the Data Binding Library all together inside the Viper - MVVM Architecture. I inspired from the already existing Coursera project presented by Richa Khandelwal and added the things that were missing to cover my needs.

Basically I used:

  1. Dagger 2 for dependency injection
  2. Retrofit to provide Observables from REST endpoints
  3. RxJava to provide the ViewModels from my presenters
  4. Data Binding Library to provide bind the ViewModels to my layouts

I also tried to cover some part of code with Unit Test and to demonstrate the way you can actually use Dagger 2 to provide your Mocks.

References

Bottom Line

I would really appreciate feedbacks or pull requests and I would also like to exchange ideas on this matter. You can find me on Hangouts: mariusc.consultancy@gmail.com

Like most of you, I am al also struggling to find the best architecture to use in my projects and so far what I could came up with is this.

Thank you for your contribution !!!