A few weeks ago, I was contracted to build a custom web application to help with source, storing, and managing photographs.

Specifically, the application needed to allow a user to search for photos using the Flickr API, store a variety of information about the photo, and then provide a few ways to retrieve the photos and the associated data for later use.

Though I can’t speak to too much detail about the application, I thought I’d share a few notes on the development stack I used as well as some of the features of the application.

The project date fell just after the release of Rails 3 so I opted to use that version of the framework. I can honestly say that Rails 3 is my favorite release of the framework to date:

  • The asset pipeline makes working with stylesheets and JavaScript much easier than prior releases. I’m also a big fan of CoffeeScript.
  • The updates to migrations (such as the simple change methods) are a welcome update.
  • Precompilation of assets is a significant improvement over previous versions of the import

In addition to Rails 3, I used the following tools through the project:

  • I used Twitter’s Bootstrap toolkit for the UI. I’m a big fan of the out-of-the-box grid and widget support. Makes it much easier for me to focus writing on markup and less on design (especially considering I’m far from being a designer).
  • The requirements called for using the Flickr API to initially source photos. Overall, it’s easy enough to use but it’s extremely slow.
  • I also took advantage of the Google Maps API Web Services for pulling in rich information about each photo’s geographical data. This allowed for each photo to include some incredibly rich location data (down to the street address level, no less).

The application also allows administrative users to perform some basic filtering tasks. Additionally,  I also built a simple API that allows authenticated users to grab information from the API in JSON format for use in other applications.

Overall, this application has definitely been one of my favorite projects over the past year.