All network requests in this application are handled by Retrofit which is a type safe HTTP client for android, coupled with a Gson Converter and GraphQL Converter. Both of these converters handle converting either request bodies and response bodies by mapping theme into plain java objects.

Cross Communication

Cross communication involves communicating of classes that are not physically linked or related, since we are trying to promote single responsibility, we make use of EventBus to communicate between classes via a Publisher Subscriber pattern.