Node Roundup: Video Gallery, Restie, xml-literals, Revised Console

2012-05-09 00:00:00 +0100 by Alex R. Young
You can send in your Node projects for review through our contact form or @dailyjs.

App: Video Gallery

Video Gallery screenshot

Video Gallery (GitHub: meloncholy / node-video-gallery, License: MIT) by Andrew Weeks is a Metro-inspired video gallery written with Express, Jade, and MySQL.

It's got JSON configuration files, separated routes, and lots of fancy front-end effects. There's a blog post about it here: Node.js Video Gallery.


Restie (License: MIT, npm: restie) by Vadim Demedes is an ORM that behaves the same in Node and browsers. Models can be declared then manipulated with the familiar CRUD methods, in a similar fashion to Backbone.js.

var Post = Restie.define('Post');

Post.all(function(err, posts) {
  // GET /posts/

Post.find_by_id(1, function(err, post) {
  // DELETE /posts/1
  post.remove(function(err) {
    // Post removed

The author has included tests that run in both browsers and Node.


xml-literals (npm: xml-literals) by Marcel Laverdet adds Node support for E4X-style XML literals:

var anchor = <a href={href}>Hello</a>;

To mix XML and JavaScript this way, the xml-literals module has to register a file extension first, then files that contain XML literals can be loaded. The following example would make subsequent require calls able to load files that include XML literals:


// This file contains XML literals

Revised Console

Revised Console (License: MIT, npm: rconsole) by Thomas Blobaum provides C bindings for syslog and makes the console methods log to syslog. This would log to /var/log/messages (depending on the OS):

console.log('hello world')

The author has included an example of using Express' express.logger to log to syslog, which strikes me as potentially useful for production web apps.