An open API service indexing awesome lists of open source software.

https://github.com/whosnickdoglio/eulerityhackathon

Small Android application for Eulerity Hackathon
https://github.com/whosnickdoglio/eulerityhackathon

android-app android-application android-mvp butterknife dagger2 glide mvp retrofit2-rxjava2 rxjava2

Last synced: about 1 month ago
JSON representation

Small Android application for Eulerity Hackathon

Awesome Lists containing this project

README

          

# Eulerity Android Hackathon

My entry in the [Eulerity Android Hackathon](https://eulerity-hackathon.appspot.com/).

## Presentation Pattern

This project follows the Model-View-Presenter (MVP) presentation pattern. This breaks down to:

- Model: A data management layer that handles any business logic

- View: Responsible for displaying data from the Presenter and notifying the Presenter of any user input

- Presenter: A mediator layer between the model and the view that connects the two, it contains all the presentation logic,
like updating the model and reacting to input from the view

Each screen has a `Contract` that outlines interfaces for the relationship between the `View` and `Presenter`, each corresponding
`View` or `Presenter` implements their interface and uses it to communicate between each other.

## Libraries

- [Glide](https://bumptech.github.io/glide/) for image loading.
- [Glide-transformations](https://github.com/wasabeef/glide-transformations) for image filters.
- [Butterknife](https://jakewharton.github.io/butterknife/) for resource binding.
- [RxJava](https://github.com/ReactiveX/RxJava) and [RxAndroid](https://github.com/ReactiveX/RxAndroid) for Retrofit calls and
background threading.
- [Retrofit](https://square.github.io/retrofit/) for network calls.
- [Dagger](https://google.github.io/dagger/) for dependency injection.
- [EasyPermission](https://github.com/googlesamples/easypermissions) for permission requests.
- [Timber](https://github.com/JakeWharton/timber) for logging.