A ready to use Node.js web app wrapper, built on top of Express.


A Node.js platform with web, database, email, logging, twitter and firewall features, built on top of Express. Official project page:

Even if Express itself does a good job as a web application framework, it can still be considered low level. So the idea of Expresser is to aggregate common modules and utils into a single package, and make it even easier to start your Node.js web app.

All settings for all modules are wrapped on the file. If you wish to customize any of these settings, please create a settings.json file on the root of your app folder with the specific keys and values. Detailed instructions are available on the top of the file.

You can also change settings directly on runtime, via the settings property of Expresser, for example:

require("expresser").settings.general.appTitle = "My App".

More info can be found at

Below you'll find important information about each of Expresser modules. Detailed documentation is extracted from the source code and available under the /docs/ folder.

  • Pre-configured Express server ready to run on most PaaS providers.
  • Built-in support and automatic setup of New Relic ( agent.

More info at

  • Supports reading, updating and deleting documents on MongoDB databases.
  • Automatic switching to a failover database in case the main one is down.

More info at

  • Automatic protection against SQLi, CSS and LFI attacks.
  • Automatic IP blacklisting.
  • Works on HTTP and Socket connections.

More info at

  • Wrapper for ImageMagick.
  • Easy conversion between multiple image types.

More info at

  • Simple info, warn and error logging methods.
  • Suppports logging to local files, Logentries ( and Loggly (

More info at

  • Supports sending emails via SMTP using optional authentication and SSL/TLS.
  • Supports email templates and keywords.
  • Automatic switching to a failover SMTP server in case the main one fails to send.

More info at

  • Wrapper for the Socket.IO module.
  • Works even if your server does not support websockets.

More info at

  • Supports updating status and reading direct messages from Twitter.
  • The Twitter module is not fully functional yet!!!

More info at

  • General utilities and helper methods.

More info at

Deploying your Expresser based app to AppFog, Heroku, OpenShift and possibly any other PaaS is dead simple. No need to configure anything - just leave the setting on, and it will automatically set settings from environment variables.

The official project page is at CodePlex: But as we know there are lots of people who prefer GitHub, there's a remote repo at GitHub as well:

Create a settings.json file with the specific keys and values that you want to override. For example:

    "general": {
        "appTitle": "My App"
    "app": {
        "paas": false,
        "port": 1234

You can also change settings programatically:

var expresser = require("expresser");
expresser.settings.general.appTitle = "MyApp";

Can't find what you're looking for? Need help? Then post on the Issue Tracker: