-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
49 lines (41 loc) · 1.52 KB
/
index.js
File metadata and controls
49 lines (41 loc) · 1.52 KB
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
require("dotenv").config(); //config .env file
const express = require("express");
const Logger = require("./utils/Logger");
const crypto = require("crypto");
const http = require("http");
const cookieParser = require('cookie-parser');
const { default: mongoose } = require("mongoose");
// init express config
const expressPort = process.env.BACKENDPORT || 3000;
const hostname = process.env.DOMAIN || "localhost";
const frontPort = process.env.FRONTPORT || 80;
if(hostname == "localhost"){
process.env.LOCALDEV = true;
}
// init jwt token
const JwtToken = crypto.randomBytes(64).toString('hex');
process.env.JETTOKEN = JwtToken;
Logger.LogInfo("JwtToken: " + JwtToken);
// init express app
const app = express();
app.use(cookieParser());
app.use(require("./middleware/SecurityHeader"));
app.use(require("./middleware/Logger"));
app.use(require("body-parser").urlencoded({ extended: true }));
app.use(express.json());
// set routers
app.use("/api/user", require("./routers/UserRouter"));
app.use("/api/course", require("./routers/CourseRouter"));
app.use("/api/event", require("./routers/EventRouter"));
// set static routers
app.use(express.static(__dirname + '/static'));
// set default routers
app.use(require("./routers/404Router"));
app.use(require("./routers/ErrorRouter"));
const server = http.createServer(app).listen(expressPort,async()=>{
if(process.env.LOCALDEV){
Logger.LogInfo(`Starting server_DEV on port ${expressPort}`);
}else{
Logger.LogInfo(`Starting server_PROD on port ${expressPort}`);
}
});