@Chris Good point.
The project is written in MVC as i stated.
It contains a load of boilerplate code, for example if i want to implement a new screen with an API call it will contain the following classes:
1. NewFragment (Controller)
2. NewFragmentMvc (interface)
3. NewFragmentMvcImpl (View)
4. SomeApiInteractor (interface)
5. SomeAPiInteractorImpl (calls the gateway)
6. SomeAPiGateWay (calls the Repo, which uses the retrofit client).
That boilerplate is by itself a ton of headache, but It makes thing very readable and methodological.
But more than that, the project development is slow and hard to figure out and fix bugs.