Technical project for the position of Android developer at Tide.co.
This a simple app that based on your location, provides you with nearby bars using the Google places API. The retrieved places are shown both in a list and a map.
The project architecture is based on the MVP pattern. More specifically, the code structure is separated in three layers :
- Model: This layer is responsible for managing data. In this app this layer communicates/interacts with external resources (Network, databases etc) to serve the requested data.
- Presenter: This layer is responsible to interacts to all views requests, querying the Model layer and updating the corresponding view, according to the data provided by model
- View: This layer is responsible to present the data as decided by the presenter and querying the presenter when it needs to be updated.
More info about this architecture may be found here
- Dagger 2
- Retrofit
- ButterKnife
- RxJava 2
- RxAndroid
- Mockito
Just clone the project and import it to android studio or in android studio select "New Project from version control -> Github" and fill the reopository url https://github.com/latas/TidePlaces.git
Also, you have to provide an unrestricted Google Api Key to ~/app/src/debug/res/values/google_maps_api.xml
with the Google places web API and Android Maps API enabled.
Developed in Android studio 3.0 using Gradle 3.0.0
Antonis Latas ([email protected])