-
Notifications
You must be signed in to change notification settings - Fork 55
/
Copy pathapp.js
52 lines (44 loc) · 1.61 KB
/
app.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
/* importing node module files */
const bodyParser = require('body-parser');
const cookieParser = require('cookie-parser');
const cookieSession = require('cookie-session');
const exphbs = require('express-handlebars');
const express = require('express');
const handlebars = require('handlebars');
const handlebarsIntl = require('handlebars-intl');
const handlebarsPaginate = require('handlebars-paginate');
const flash = require('connect-flash');
const passport = require('passport');
/* express server configuration */
const app = express();
/* session configuration */
app.use(require('express-session')({
secret: 'keyboard cat',
resave: false,
saveUninitialized: true,
cookie: { secure: false }
}));
app.use(flash());
app.use(cookieParser());
/* passport authenticator initialization */
app.use(passport.initialize());
app.use(passport.session());
/* body parser configuration */
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
/* static pages configuration */
const static = express.static(__dirname + '/public');
app.use("/public", static);
/* view or handlebars configuration */
handlebarsIntl.registerWith(handlebars); // handlebars formatting
handlebars.registerHelper('paginate', handlebarsPaginate); // paging
app.engine('handlebars', exphbs({ defaultLayout:'main' }));
app.set('view engine', 'handlebars');
/* routing configuration */
const configRoutes = require("./routes");
configRoutes(app);
/* running server on port 3000 */
app.listen(3000, () => {
console.log("We've now got a server");
console.log("Your routes will be running on http://localhost:3000");
});