node package manager


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") = "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 with built-in support for some PaaS providers.

More info at

  • Configurable cron for scheduled tasks using JSON files.
  • Supports multiple files and multiple modules.
  • Supports managing scheduled tasks programatically.
  • Low memory footprint, high performance.

More info at More info at

  • Supports reading, updating and deleting documents on general databases.
  • Plugins for MongoDB and JSON file databases.

More info at More info at More info at

  • Configurable download manager supporting standard web protocols.

More info at More info at

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

More info at More info at

More info at More info at 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 More info at

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

More info at 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.

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"); = "MyApp";

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