The data is pulled directly from the respective shelter websites. For Birmingham Dogs Home, I hijacked the JSON response they have on their meet our dogs page. For the other shelters, I just spidered their dogs pages and extracted the data from the HTML. The code for each is available here.
The easiest bit was probably setting up the typical structure for the app (models, views, controllers, etc.). I’ve been doing it for years so it’s pretty much autopilot now.
The hardest part was probably the Ember frontend. This is my first Ember project so I went in knowing pretty much nothing. Fortunately I did find it fairly intuitive (unlike my past experience with Angular) so it was quite easy to pick up. Googling problems was a bit tricky since Ember seems to change every five minutes and solutions from previous versions aren’t guranteed to work with current ones.
It’s mostly deployed to AWS via Opsworks. The ember front-end is hosted on the Github Page for the repo, which I found to be a nice perk of using JS.
As for gems on the rails app, it’s a fairly simple site so I didn’t go overboard with anything special. I think the only standout gem is Nokogiri (used for parsing the shelter HTML), but that’s been my go-to XML/HTML parser for years.
HAML is a really nice thing to have (if you’re not already familiar with it), though. It’s an ERB alternative which makes knocking out your views really easy. Example: shelters/show.html.haml