Coder Social home page Coder Social logo

jgardezi / flickr-search Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 500 KB

Flickr API example API, allow a user to search for photos

PHP 91.48% ApacheConf 0.62% Vue 0.63% HTML 7.28%
flickr-api laravel laravel54 rest-api unittest search travis-ci flickr-search

flickr-search's Introduction

Build Status

Flickr Photo Search

Simple Flickr Search API allows users to search for photos by tags and allows users to go to full details of photos.

The project is structured using repository pattern. It provide a layer of abstraction over the datasource/database. Instead of directly interacting with the Flickr API's, the controllers interact with a repository class that encapsulates all the API layer interactions.

The advantage of this approach is that controller is no longer directly coupled to the model layer. For small projects lot of unnecessary boilerplate has been added. However, for larger projects with more complexity and changing requirements, this layer of abstraction is incredibly useful.

  • Easily migrate to a different ORM or database layer technology.
  • Easily "mock" the repository class in unit tests.

Flickr API's

Requirements

  • PHP >= 7
  • MCrypt PHP Extension
  • Composer
  • Laravel Homestead
  • Travis CI - For Code Quality, Consistency, Adherence to standards and Automated Tests

Setup

  • Clone this repository
  • In the project directory issue composer install command
  • Install node packages npm install
  • Build JS and CSS using npm run dev
  • To see on web browser php artisan serve or use Homestead

Application Testing/Demo

  • Using web browser path: demo link
  • Testing covers basic Unit and Functional Testing. If using Homestead run phpunit in the project directory.

Future improvement

  • Dockers
  • Micro-services (use of Lumen framework instead Laravel, more generic)

TODO

  • Better UI implementation
  • Expose search API's (optional)

References

flickr-search's People

Contributors

jgardezi avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.