-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserver.js
55 lines (48 loc) · 1.89 KB
/
server.js
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
46
47
48
49
50
51
52
53
54
55
var express = require('express');
var app = express();
var mongoose = require('mongoose');
var passport = require('passport');
var flash = require('connect-flash');
var ejsLayouts = require("express-ejs-layouts");
var morgan = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var session = require('express-session');
var methodOverride = require('method-override');
// Setup database
var databaseURL = 'mongodb://localhost/Project-1'
mongoose.connect( process.env.MONGODB_URI || databaseURL, {useMongoClient: true});
// Setup middleware
app.use(morgan('dev'));
app.use(cookieParser());
app.use(bodyParser());
app.use(ejsLayouts);
app.use(express.static(__dirname + '/public'));
// use express.session() before passport.session() to ensure that the login session is restored in the correct order
app.use(session({ secret: 'WDI-GENERAL-ASSEMBLY-EXPRESS' }));
// passport.initialize() middleware is required to initialize Passport.
app.use(passport.initialize());
// If your application uses persistent login sessions, passport.session()
app.use(passport.session());
app.use(flash());
app.use(methodOverride(function(request, response) {
if(request.body && typeof request.body === 'object' && '_method' in request.body) {
var method = request.body._method;
delete request.body._method;
return method;
}
}));
// Express settings
app.set('view engine', 'ejs');
app.set("views", __dirname + "/views");
require('./config/passport')(passport);
// Custom middleware to allow global access to currentUser variable
app.use(function(req, res, next) {
global.currentUser = req.user;
next();
});
var routes = require(__dirname + "/config/routes");
app.use(routes);
app.listen(process.env.PORT || 3000, function() {
console.log('Express server is up and running on http://localhost:3000/');
});