Skip to content

A gif viewer to search gifs with GIPHY API and save your favourite ones to a local database

Notifications You must be signed in to change notification settings

awoisoak/Giphy-Viewer

Repository files navigation

#Giphy Viewer

Giphy viewer is a gif viewer that uses the public GIPHY API.

It retrieves the different needed information via the GIPHY API. The implementation consist in an activity with a ViewPager holding two fragments.

The first fragment displays by default a list of the trending gifs in GIPHY website. A search bar is included in the top in order to search items given a word or phrase introduced by the user. The second fragment contains a grid of gifs that have been marked as favourite by the user. The corresponding RecyclerView is linked to an ORMLite to store the favorite gifs. All items displayed in both fragments contains a button to add/remove gifs to/from favourites.

Implementation details:

  • Applies Dependency injection with Dagger2
  • Otto is used to decouple Interactors from Presenters
  • Server is attacked with Retrofit2
  • ButterKnife is used to find the corresponding views
  • Glide is used for image caching and animated gif displaying
  • Two flavors were added: mock & prod (@see app/build.gradle) in order to be able to build an app which aims to a mock server (@see MockGiphyManager) and to a mock datastore (@see MockSQLiteGifDataStore)

MVP branch

Implements an MVP pattern using concepts of the Clean Architecture.

Master Branch

(Work in progress...) I am currently migrating the code to an MVVM pattern using the new Android Architecture Components:

Alt Text

About

A gif viewer to search gifs with GIPHY API and save your favourite ones to a local database

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages