Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…
Cannot retrieve contributors at this time
74 lines (49 sloc) 1.74 KB

Vroom - A simple resource web framework for Node.js

Vroom's goals are to be an easy to use web framework for building scalable HTTP oriented applications.

Core Goals

* Do NOT mess with Node.js's ability to stream data.
* Work with the async nature of Node.js, not against.
* Have a simple API (a little magic is fine!)
* Have a simple core.

While I feel that these goals are currently met to certain degrees, I believe there is still a bunch of work to do to fully meet each goal.


Routing is achieved by a mix of pure path based routing (i.e. Sinatra), Merb routing and a simple mounting approach.


For a demo app see: test/app/

Here is a totally simple example app

var vroom = require("lib/vroom.js");

var resource = function() {
  get("/", function() {
    return "Welcome to Vroom!";

  get("/person(/:name)", function(name) {
    return "Hello: " + (name || "unknown");

  get("/stream", function() {
    write("Hello ");

function onLoad() {
  // Create a new Application
  var app = vroom.createApp();

  // This is were we mount our resource from above
  // we are going to mount this on "/"
  app.mount("/", resource);

  // Finally we start the application up

Since the onLoad (mounting/booting/etc) is separate from the resources, this can (and usually is) be in its own file. See the test/app for a more detailed example with templates and such.

To boot that:

$ node that-file.js

Note that you need Node.js installed prior to running the application.

Jump to Line
Something went wrong with that request. Please try again.