What's the stack?
So, you'll find some references to Ruby and Sinatra in the prototype project I'll be talking about, but the focus now is on the Node/Express side of things.
What's the goal?
Now that I've given a little bit of background, let me introduce you to the prototype project I'll be doing and posting more articles based on it. For the moment, the idea is only to explore the possibilities of the stack and build some really basic functionality application on top of it.
For that purpose, I've set up the project's repository on GitHub where you can track progress, and look for references and code examples on topics that will be covered here in the future.
Who's doing it?
I've started with this to learn how to set up the complete stack, learn Node.js, Express.js, MongoDB, then making automated Backbone build scripts, test scripts, and everything else that's needed to run a project using these technologies.
In the meantime, I've shown this to a friend and a fellow developer Bruno, who's got hooked up on Backbone.js, and found this a cool option to build his skills in that area.
So, he'll be jumping in for the client-side Backbone.js and Jasmine stuff, while I'm going to explore the server-side and MongoDB. Of course, we'll probably overlap and switch our roles from time to time, to learn as much as possible around the whole stack.
For the moment, we're building a full REST API around the simple functionality of having and managing Users collection, which is a thing almost every decent application will need. So, this code will be a cool starting point for building other apps.
What will be next, we'll see, there are some ideas but no concrete plans yet.
Posts that may be expected in the near future will cover the following topics: Setting up MongoDB with Node.js, using Express.js to build a rich-client application's supporting API, automated Backbone.js application build-scripts using Rake, and more to come as we'll be moving this thing forward.
Opportunities to always learn something new, and calling it work, are one of the greatest gifts software engineers have. I hope you'll join me on this journey and enjoy it as much as I do.