node package manager

expresser

Expresser

A Node.js platform with web, database, email, logging and other special features, built on top of Express.

Build Status Coverage Status

Why Expresser?

Even if Express itself does a good job as a web application framework, it can still be considered quite "low level" by some. So the idea of Expresser is to aggregate common modules and utilities into a single package, to make it even easier to start and streamline your Node.js application. Developed with Coffee-Script.

Settings

Settings for the app and all modules are loaded by the settings.coffee module. 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. For more info please head to https://github.com/igoramadas/expresser/blob/master/docs/settings.md.

Example app

expresser = require "expresser"
logger = expresser.logger
metrics = require "expresser-metrics"
settings = expresser.settings
app = expresser.app

# Init the app!
expresser.init()
logger.info "Server started!"

# Renders the index.pug view from /views folder
app.server.get "/", (req, res) -> app.renderView req, res, "index"

# Renders output from the Metrics plugin.
app.server.get "/metrics", (req, res) -> app.renderJson req, res, metrics.output()

It seems pretty simple, right? Most configuration is done on the settings.json file. Paths, default views, server port, etc etc...

Main modules

Now to the main modules...

App

Events

Database

Logger

Settings

Utils

Plugins

And the official plugins...

Cron

Database: MongoDB

Database: TingoDB

Downloader

Logger: File

Logger: Logentries

Logger: Loggly

Mailer

Metrics

PaaS

Sockets

Need help?

Can't find what you're looking for? Need help? Then post on the Issue Tracker: https://github.com/igoramadas/expresser/issues