node package manager

expresser

Expresser

A Node.js framework with built-in web server, logging and other common utilities, 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 CoffeeScript v2, it has full support for all the new features of ES6, including async / await.

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...

Main modules

Now to the main modules...

App

Events

Logger

Settings

Utils

Plugins

And the official plugins...

AWS

Cron

Database: MongoDB

Downloader

Google Cloud

Logger: File

Logger: Logentries

Logger: Loggly

Mailer

Metrics

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