ExpensesSpreadsheet.net, Rapid Web App Development with Node.js

My latest project is ExpensesSpreadsheet.NET. It is the simplest and easiest solution I could come up with to track and categorize expenses … in a spreadsheet. Let’s call it a niche web application, so it’s probably not for every one, but it should fit some extremely well. It runs on Heroku’s Node.js stack.

Over the last month or two, I’ve been very busy with a few projects. And it was about time to present some. I have many more ideas on how to extend

ExpensesSpreadsheet, but I thought it wise to first gauge the reaction of people.

It uses the following technology:

  • Node.js, the JavaScript event machine that is all the rage now.
  • RailwayJS, a Rails-like web framework.
  • connect-auth for Facebook integration (and a lot more)
  • MongoDB for data storage. Mostly because it was so easy to get started with compared to traditional related databases. But in hindsight, I think it’s an ok choice. I really don’t safe any relations anyway.
  • EJS JavaScript templates. Although in hindsight, I think I like Jade better.
  • Heroku, cloud hosting done right.

This was my first experiment with Node.js and Heroku and it was extremely enlightening. JavaScript is not my favorite programming language, but it certainly has a way of reducing boiler plate code (stuff I’m really starting to hate in Java). Combined with deployment to Heroku, the time between idea and deployed application is so short, it will make any developer smile.

If your day-to-day life involves lots of Java, you owe it to yourself to try out this stack. It’s not your average hacked together client side JavaScript. It takes a little time to wrap your head around the Node model, but it’s all worth it.