I've been wanting to work on a breakable toy project for a while now, and now i finally have enough spare time to spend on it. The objective of the project isn't very interesting: i just want to be able to generate invoices and timesheets for a task/project for a customer, and i want them in PDF format. I want to be able to do this from an easy-to-use web interface, and later on i want to add a mobile version of that interface to the project. I know there are tools available to do this but the whole point is to learn how to use new technologies, which is why i went with some interesting technological choices.
On the server, i'm going to use Node with Express as the web-development framework. For data storage, i'm going with MongoDB. On the client, i'll probably use jQuery (and later on, jQuery Mobile) together with Backbone. I want to test both the server-code and the client-code with a mixture of Jasmine and QUnit.
I want the resulting code to be clean, working, and fully tested. Of course, due to the fact that every technology i'm going to use (except for jQuery) is entirely new to me, this is going to be a bit of a challenge. I'm going to make tons of mistakes and i'm assuming that there will be continuous refactoring going on. I'm also going to do all that learning out in the open. You'll be able to follow the codebase on github and i'm going to document the whole experience on this blog. It might take a short while for code and posts to show up, because i've got some initial reading to do before i get started. All in all, i expect this to be a very interesting project that's going to teach me a lot, and i'm pretty sure i'm gonna have a lot of fun building it, and writing about it.
For those of you who already have experience with any of these technologies: if you catch me doing something stupid either in code or in a blog post, i'd appreciate a nudge in the right direction ![]()
Pingback: First Steps With MongoDB, Mongoose and Jasmine-Node On Node.JS