
###
TopsyHNReact Server
###

## ENV
env = require("#{__dirname}/env.json")

## Modules
express       = require('express')
logger        = require('morgan')
debug         = require('debug')(env.NAME)

## Start Express
app = express()

## Setup Middleware
app.use(logger('dev'))
app.use (req, res, next) ->
  res.locals.NAME = env.NAME
  res.locals.ENV = process.env.NODE_ENV
  next()

## Bootstrap
require('./middleware/engines')(app)
require('./routes/router')(app)
require('./middleware/errorHandler')(app)

## Start Server
app.set('port', process.env.PORT or env.EXPRESS_PORT or 7000)
server = app.listen app.get('port'), ->
  debug('Express server listening on port ' + server.address().port)

## Export App
module.exports = app
