The Cambridge Beer Festival Web Service

I love the Cambridge Beer Festival. Well really, I love the beer, and the festival simply gives us lots of it! To help guide us around the beers at the festivel is the Android app written by my friend and colleague Rich Alcock.

You can imagine, I'm sure, a bunch of developers drinking on a sunny evening on Jesus Green; we discuss the beers we like, what to try next, what to eat ... and of course what we'd like Rich to add to the app for next year.

I've been pretty consistent in what I want; I want every users ratings to be made available to others so that collectively we rate the beers on offer, and can see what everyone else thinks.

Rich was pretty good about my enhancement request saying simply if someone wrote the relevant web service that he could talk to, he would consider integrating it into the app. What a wonderful riposte! And so the seed is sown - what we need now is a web app!

It transpires that writing a web service from scratch is not totally trivial. I did a bit of searching and initially thought about using Ruby on Rails as the prototype environment ... but things didn't work out. However, fortunately I'd recently spent time getting ghost working, which required node.js - and there were several people showing how to get a full up web service with database backend working in node.js.

This is going to be an interesting experience. I haven't ever done any of the following:

  • Written a web service
  • Written in javascript
  • Written an html page
  • Used node.js or any of its packages

This is the first of several posts on my experience with some/all of the above.

If you are interested in the code for this service then you can see it here on github. Subsequent posts will reference parts of this code.