-
Notifications
You must be signed in to change notification settings - Fork 0
/
server.js
65 lines (50 loc) · 1.6 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
56
57
58
59
60
61
62
63
64
const express = require('express');
const mongoose = require('mongoose');
const helmet = require('helmet');
const exphbs = require('express-handlebars');
const bodyParser = require('body-parser');
const methodOverride = require('method-override');
const flash = require('connect-flash');
const session = require('express-session');
const path = require('path');
/*Server*/
const server = express();
const port = 8181;
server.listen(port,()=>console.log(`Server started on ${port}. Welcome to ShotNote`));
/*Connect to mongoose*/
mongoose.connect("mongodb://localhost/shotnote-dev")
.then(()=>console.log("MongoDB connected ..."))
.catch(err=>console.log(err));
/*Middleware*/
//Helmet
server.use(helmet());
server.use(express.static(path.join(__dirname, 'public')));
//Handlebars
server.engine('handlebars', exphbs({defaultLayout: 'main'}));
server.set('view engine', 'handlebars');
//BodyParser
server.use(bodyParser.urlencoded({extended:false}));
server.use(bodyParser.json());
server.use(methodOverride('_method'));
server.use(session({
secret: 'something',
resave:true,
saveUninitialized:true
}));
server.use(flash());
//Global variables
server.use(function(req,res,next){
res.locals.success_msg=req.flash('success_msg');
res.locals.error_msg=req.flash('error_msg');
res.locals.error=req.flash('error');
next();
})
/*Routes*/
const notes=require('./routes/notes');
server.use('/notes',notes);
const users=require('./routes/users');
server.use('/users',users);
// //Main
server.get('/',(req,res)=>res.render('home'));
//HeartBeat
server.get('/heartbeat',(req,res)=>res.send('It works'));