The ToDo app is one of the most popular samples to build when learning new languages and frameworks.  Only the Hello World sample is more popular.  While Hello World makes you feel accomplished, it generally leaves you with more questions than answers.  To really understand how things are working you need to build something a little more complex.


Enter the ToDo app.  When I joined the team of BlueMix dev advocates one of the first discussions we had was around which sample apps we wanted to build.  There are the cool flashy demo apps that you see during a keynote and then there are the real world samples that developers actually learn from.  I was interested in the real world samples, and I immediately thought of one of my favorite websites,  If you are not familiar with I suggest you check it out.  The general idea of the site is to teach developers about various JavaScript MVC frameworks.  They do this by implementing the same application, a ToDo app, in each of the various JavaScript frameworks.  I really liked the idea, so I suggested we build a ToDo app for a couple of the more popular languages that BlueMix supports, everyone agreed.  In true open source fashion we took one of the samples from, the Backbone sample, and implemented a backend for it in Java, Node.js, Python, Sinatra, and PHP.  Developers interested in using BlueMix can pick the ToDo app for the language they plan on using, deploy it, and then see how it works by looking at the code.


In addition we wanted to integrate a service into the ToDo app, since knowing how to leverage services in BlueMix is very important.  We decided to add a database to store the ToDos in.  In fact each sample can either use Cloudant or Mongo DB to store ToDos.

download (1) download (2)

The source code for the ToDo apps can be found on GitHub.  The READMEs for the various apps contain many more details about how to deploy the apps to BlueMix.  If you have other languages or frameworks you would like to see a ToDo app implemented with please let me know.

Ryan J Baxter

Husband, Father, Software Engineer