diff options
Diffstat (limited to 'server/index.js')
| -rw-r--r-- | server/index.js | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/server/index.js b/server/index.js new file mode 100644 index 0000000..2f786ec --- /dev/null +++ b/server/index.js @@ -0,0 +1,88 @@ + +/* jshint node: true */ +var ejs = require('ejs'); +ejs.open = '[['; +ejs.close = ']]'; + +var config = require('../config.json'), + models = require('./models'), + api = require('./api'), + auth = require('./auth'), + middleware = require('./middleware'), + views = require('./views'); + +var http = require('http'), + express = require('express'), + bodyParser = require('body-parser'), + cookieParser = require('cookie-parser'), + session = require('express-session'), + methodOverride = require('method-override'), + errorHandler = require('errorhandler'), + multer = require('multer'), + morgan = require('morgan'), + csurf = require('csurf'), + path = require('path'), + pg = require('pg'); + +var app = express() +var server +var DATABASE_URI = process.env.DATABASE_URL || ('postgres://postgres@localhost/' + config.name) + +// + +var site = {} + +site.init = function(){ + pg.connect(DATABASE_URI, site.ready); +} + +site.ready = function(){ + // auth.init() + site.setup() + site.route() +} + +site.setup = function(){ +// var SessionStore = new MongoStore({ mongoose_connection: mongoose.connection }) + + app.set('port', config.port); + app.set('views', path.join(__dirname, '../views')); + app.set('view engine', 'ejs'); + app.use(express.static(path.join(__dirname, '../public'))); + app.use(morgan('dev')); + app.use(cookieParser(config.secret)); + app.use(session({ + key: config.name + '.sid', + secret: config.secret, + cookie: { domain: '.' + config.host, maxAge: 60*60*24*365 }, +// store: SessionStore + })); + app.use(bodyParser()); + app.use(multer()); + app.use(express.query()); + app.use(csurf); + app.use(methodOverride()); +// app.use(passport.initialize()); +// app.use(passport.session()); + app.enable('trust proxy') + app.get('env') === 'development' && app.use(errorHandler()); + + // Essential middleware + // app.all('*', middleware.enableCORS); + app.all('*', middleware.ensureLocals); + + server = http.createServer(app) + server.listen(app.get('port'), function () { + console.log('Express server listening on port ' + app.get('port')); + }); + + // var io = websocket.listen(server) + // auth.initSockets(io, SessionStore) +} + +site.route = function(){ + app.get('/', views.home) +} + +site.init() + |
