2017-05-24 11:07:43 -07:00
|
|
|
// load dependencies
|
|
|
|
var express = require('express');
|
|
|
|
var bodyParser = require('body-parser');
|
|
|
|
var path = require('path');
|
2017-05-31 19:48:09 -07:00
|
|
|
var siofu = require("socketio-file-upload");
|
2017-06-09 16:46:57 -07:00
|
|
|
var expressHandlebars = require("express-handlebars");
|
2017-05-24 22:50:02 -07:00
|
|
|
|
2017-05-24 11:07:43 -07:00
|
|
|
// set port
|
2017-05-24 14:22:56 -07:00
|
|
|
var PORT = 3000;
|
2017-05-24 22:50:02 -07:00
|
|
|
|
|
|
|
// initialize express app
|
2017-05-24 11:07:43 -07:00
|
|
|
var app = express();
|
2017-05-24 22:50:02 -07:00
|
|
|
|
2017-05-24 11:07:43 -07:00
|
|
|
// make express look in the public directory for assets (css/js/img)
|
|
|
|
app.use(express.static(__dirname + '/public'));
|
2017-05-24 22:50:02 -07:00
|
|
|
|
|
|
|
// configure express app
|
2017-06-09 16:46:57 -07:00
|
|
|
app.use(bodyParser.json()); // for parsing application/json
|
2017-05-24 11:07:43 -07:00
|
|
|
app.use(bodyParser.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded
|
2017-05-31 19:48:09 -07:00
|
|
|
app.use(siofu.router);
|
2017-05-24 22:50:02 -07:00
|
|
|
|
2017-06-09 16:46:57 -07:00
|
|
|
// configure handlebars
|
|
|
|
app.engine('handlebars', expressHandlebars({defaultLayout: 'main'}));
|
|
|
|
app.set('view engine', 'handlebars');
|
|
|
|
|
2017-05-24 22:50:02 -07:00
|
|
|
// require express routes
|
2017-05-24 11:07:43 -07:00
|
|
|
require("./routes/api-routes.js")(app);
|
|
|
|
require("./routes/html-routes.js")(app);
|
2017-05-24 22:50:02 -07:00
|
|
|
|
2017-06-09 16:46:57 -07:00
|
|
|
// wrap the server in socket.io to intercept incoming sockets requests
|
2017-05-24 22:50:02 -07:00
|
|
|
var http = require("./routes/sockets-routes.js")(app);
|
|
|
|
|
2017-05-24 11:07:43 -07:00
|
|
|
// start server
|
2017-05-24 22:50:02 -07:00
|
|
|
http.listen(PORT, function() {
|
2017-05-24 11:07:43 -07:00
|
|
|
console.log("Listening on PORT " + PORT);
|
|
|
|
});
|