-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.coffee
45 lines (39 loc) · 1.43 KB
/
app.coffee
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
###
Module dependencies.
###
express = require 'express'
fs = require 'fs'
passport = require 'passport'
path = require 'path'
mongoose = require 'mongoose'
_ = require 'underscore'
glob = require 'glob'
pkg = require './package.json'
http = require 'q-io/http'
###
Main application entry file.
Please note that the order of loading is important.
###
# Default configurations, extended by options provided in config/env files
config =
root: path.normalize '.'
port: process.env.PORT or 5000
db: process.env.MONGOLAB_URI or 'mongodb://localhost/laere-dev'
secret: process.env.SECRET or 'CLEAN'
env: process.env.NODE_ENV or 'development'
version: pkg.version
app = express() # Create your express app
db = mongoose.connect(config.db) # Bootstrap db connection
mongoose.connection.on 'error', ->
console.error('✗ MongoDB Connection Error. Please make sure MongoDB is running.')
# Bootstrap models
require(file) for file in glob.sync './app/**/*-model.coffee'
require('./config/auth') app, passport, config # Bootstrap passport config and auth rules
require('./config/express') app, passport, config # Express settings
require('./config/routes') app, passport # Bootstrap routes
# Start the app
app.listen config.port, ->
console.log "App started on port #{config.port} with environment #{config.env}"
# Reload app on restart
http.request('http://localhost:35729/changed?files=any') if config.env is 'development'
exports = module.exports = app