Skip to content

mirzaadil/Adnroid-Architecture-MVP

Repository files navigation

Technical-Assessment

Libraries Used

  • Retrofit - For the network calls.
  • RxJava - For making Async Retrofit calls at the same time their responses.
  • Gson - Gson is a Java library that can be used to convert Java Objects into their JSON representation. It can also be used to convert a JSON string to an equivalent Java object.
  • Okhttpclient - OkHttp is an HTTP client that's efficient by default: HTTP/2 and SPDY support allows all requests to the same host to share a socket. Connection pooling reduces request latency (if SPDY isn't available). Transparent GZIP shrinks download sizes. Response caching avoids the network completely for repeat requests.
  • Junit - JUnit is a unit testing framework for the Java programming language. JUnit has been important in the development of test-driven development (TDD), and is one of a family of unit testing frameworks which is collectively known as xUnit that originated with SUnit.
  • UI Espresso - Espresso is a UI test framework (part of the Android Testing Support Library) that allows you to create automated UI tests for your Android app.
  • Fresco - Fresco is a powerful system for displaying images in Android applications.

Screenshots.

UI specifications

Architecture Blueprint.

UI specifications

Project Architecture MVP.

MVP design pattern is a set of guidelines that if followed, decouples the code for reusability and testability. It divides the application components based on its role, called separation of concern.

MVP divides the application into three basic components:

  • Model: - It is responsible for handling the data part of the application.
  • View: - It is responsible for laying out the views with specific data on the screen.
  • Presenter: - It is a bridge that connects a Model and a View. It also acts as an instructor to the View.

Authors

  • Mirza Adil