My entry in the Eulerity Android Hackathon.
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.
- Glide for image loading.
- Glide-transformations for image filters.
- Butterknife for resource binding.
- RxJava and RxAndroid for Retrofit calls and background threading.
- Retrofit for network calls.
- Dagger for dependency injection.
- EasyPermission for permission requests.
- Timber for logging.