summaryrefslogtreecommitdiff
path: root/server/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'server/index.js')
-rw-r--r--server/index.js88
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()
+