A simple Android app which displays UK Crimes on a map (hey, that rhymes!) Making use of: MVP architecture, Dagger 2, Google Maps API, Retrofit, Mockito, Mock Web Server...
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Crimes Map

This android app is a work-in-progress (SPOILER: bugs 🐞🐞🐞) which intends to show a map of UK crimes committed in a locality.

The app sources information about Crimes from the police.uk crime API.

The goal of this project is to build a robust, useful app which follows Material Design principles and could scale to a larger team and / or user-base. As such, the focus is more on architecture, process and "testability" than on being fully-featured.

###Technologies / techniques used

  • Model-View-Presenter architecture in order to ensure clean separation of concerns as much as possible and to facilitate as much unit-testing (without instrumentation) as possible.
  • Dagger 2 for dependency injection to assist with separation of concerns, aid testability and avoid the referencing of Android Context objects in Presenter code.
  • Google Maps Android API v2 to display crimes on the map and the Clustering utility library to prevent the map getting too cluttered with pins
  • Butterknife for easy view binding
  • Retrofit for type-safe querying of the Police API.
  • Mockito for the mocking and stubbing required for good unit tests.
  • Mock Web Server for testing API client functionality, particularly concerning issues such as timeouts, 5**, 4** errors, etc.
  • More to come, probably - as mentioned, this is still WIP so some more techniques and technologies will be added as I go along.