https://github.com/pgreze/flickpad
Photo viewer android sample project
https://github.com/pgreze/flickpad
android dagger2 gson mvp okhttp3 picasso retrofit2 rxjava2
Last synced: 3 months ago
JSON representation
Photo viewer android sample project
- Host: GitHub
- URL: https://github.com/pgreze/flickpad
- Owner: pgreze
- Created: 2017-04-02T14:52:48.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2019-03-23T10:28:02.000Z (about 6 years ago)
- Last Synced: 2025-01-12T05:28:43.270Z (4 months ago)
- Topics: android, dagger2, gson, mvp, okhttp3, picasso, retrofit2, rxjava2
- Language: Java
- Homepage:
- Size: 188 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# Flickpad
## Description
A simple photo viewer application.

Please see [Release 1.0](https://github.com/pgreze/Flickpad/releases/tag/1.0) description for a full description, screenshots and download link of this project.
## Technical description
This app uses an simple MVP (Model-View-Presenter) architecture.
- app package: containing Android's Application class and initial configuration. Notice [Dagger](https://github.com/google/dagger) usage as Dependency Injection Container.
- data package: **Model** layer consuming Flickr REST API using [Retrofit](https://square.github.io/retrofit/), [OkHttp](http://square.github.io/okhttp/) and [Gson](https://github.com/google/gson).
- domain package: convert data model (Flickr objects) to app custom objects, heavily using [RxJava](https://github.com/ReactiveX/RxJava) and [AutoValue](https://github.com/google/auto).
- ui package: containing **View** (MainActivity and fragments) and **Presenter** (easily unit testeable view logic) classes. Notice usage of [Butterknife](https://jakewharton.github.io/butterknife/) and [Picasso](https://square.github.io/picasso/) for image processing.Additional credits:
- [Stetho](http://facebook.github.io/stetho/) allowing to debug Android app via [chrome://inspect](chrome://inspect).
- [Crashlytics](https://fabric.io/kits/android/crashlytics) bug report tool.## Build
Please create a file app/gradle.properties with this content:
```
FLICKR_CONSUMER_KEY=here_your_flickr_key
FLICKR_CONSUMER_SECRET=here_your_flickr_secret
RELEASE_SIGNING_PASSWORD=here_your_release_keystore_password
```And use:
```
./gradlew assembleRelease
```