birmingham.io

[Rails][Ember] Index of all local rescue dogs available for re-homing

I should start with a small disclaimer by saying that (at this stage) this isn’t a proper side project. My current employment is coming to an end soon, so I built this to put some life into my Github profile.

The main app is available at dogs.saucyofharborne.co.uk (code is here) and an alternative Ember-based front-end is available at dogsember.saucyofharborne.co.uk (code is here).

I have zero design skills so the UI for both front-ends is based on Bootstrap using themes from Bootswatch.

This is looking pretty good.

Where is the data coming from? I’m guessing initially from http://www.birminghamdogshome.org.uk/ - but is this manually entered, or have you pulled it in via an API.

Out of interest, what would you say was the easiest bit of the project, and what was the most difficult? And (on the rails side of things) are any of the gems you used of particular stand out quality and helpfulness?

Thanks @limeblast

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

1 Like

This group is uncanny. An interest to create a code-pairing app was announced a week after I started writing one. Now someone announces a scraper for rehoming dogs a month after a friend of mine started the same project. Spooky! :ghost:

I have a PHP side-project involving lots of scraping, but my friend is a .net dev, so is using the HTML Agility Pack. I don’t know how much he’s wanting to continue on the project, but I’ll ping him a link all the same. He has two greyhounds of his own, so it’s very much of interest for him. :dog:

Great minds think alike :smile:

Is your friend’s project online anywhere?

I don’t think it is online, no - just sitting on his laptop atm :smiley_cat:

This is such a lovely idea! Now I just need to convince my partner that getting a dog will definitely improve our lives (he currently disagrees strongly).

Thanks :slight_smile:

My partner was the same to begin with; she’d never had a dog growing up and was worried about being constantly covered in slobber and having her things chewed up.

We ended up agreeing to fostering as a gentle introduction. We fostered this handsome fellow from Animal Allsorts. It didn’t take her long to want to keep him, and he’s been with us for around 3 years now.

Aw, what a nice looking dawg. :dog2:

@riaface - start with a Chihuahua and work your way up!

So, I’m going to just totally derail this conversation and talk about my theory of dogs…

… for you see, dogs are evil. All dogs, that is. No exception.

But the funny thing about dogs is they all have the exact same amount of evil in them, which is why the smaller ones are so much more ferocious than the larger ones, because of the concentrated evil within them.

So, @halfer’s suggestion:

Sounds like a recipe for disaster - but that’s just me :smiling_imp:

1 Like

Wow. You’re really running a risk suggesting that all dogs are evil.

1 Like

s/dog/cat

There, fixed it for you :smiley:

2 Likes

That made me giggle. I imagine a biologist being interviewed on TV, noting sternly that “yes Kirsty, the levels of evil in the Chihuahua are of particular concern to our department. In our early tests we’re seeing evil in concentrations of at least 176PPM, which is very high indeed”.

1 Like

Proudly sponsored by Bytemark