-
Notifications
You must be signed in to change notification settings - Fork 1
/
index.js
61 lines (41 loc) · 1.25 KB
/
index.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
var compression = require('compression')
const helmet = require("helmet");
const express = require('express');
const app = express();
app.use(compression())
app.use(helmet());
//config
const config = require('./config/index')
const PORT = config.PORT;
//Serve static files(such as images)
app.use(express.static('./public/static/img/'));
//To enable .env file
require('dotenv').config()
//body parser deprecation replacement
app.use(express.json());
app.use(express.urlencoded({
extended: true
}));
//MIDDLEWARES
//Redirect http to https protocol middleware
if (process.env.NODE_ENV === 'production') {
const redirectToHttps = require('./middleware/redirectToHttps.middleware')
app.use(redirectToHttps)
}
//Only this route is loaded before DB connection because this is the only route whoch does not require DB access
//Default home API route
app.get('/', (req, res) => {
return res.send("Library Management System API by Ashwin Dev");
})
//DB connection
require("./models");
//API routes can be loaded after DB connection
//API routes
const apis = require("./routes/api");
app.use(apis);
//Start server
app.listen(PORT, () => {
console.log(`Server started on port ${PORT}`);
console.log(`http://localhost:${PORT}/api/`);
});
module.exports = app;