-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserver.js
More file actions
114 lines (84 loc) · 4.08 KB
/
server.js
File metadata and controls
114 lines (84 loc) · 4.08 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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
global.logger = require('./config/winston');
require("dotenv").config();
var express = require('express');
var app = express();
var favicon = require('serve-favicon');
var path = require('path');
const commonUtil = require('./server/util/commonUtil');
const scheduler = require('node-schedule');
var maria = require('./config/maria');
global.mariadb = maria;
const loggerCatcher = require('./config/logger-catcher');
//스케쥴러2. 랭킹 크롤링
const rankScheduler = require('./server/scheduler/rankCrawlingScheduler')(scheduler, maria, loggerCatcher);
// 시즌 오프 - 통계 구하기용
const seasonOff = require('./server/scheduler/seasonOffScheduler')(scheduler, maria, loggerCatcher);
// 사용자 검색
const userController = require('./server/controller/userSearchController')(scheduler, maria, loggerCatcher);
//랭킹 차트
const rankChart = require('./server/controller/rankChartController')(scheduler, maria, loggerCatcher);
// 닉변이력
const userHistory = require('./server/controller/userHistoryController')(scheduler, maria, loggerCatcher);
// 조합통계
const combi = require('./server/controller/combiController')(scheduler, maria, loggerCatcher);
//스케쥴러3. 조합통계 - 주간/월간 (메인페이지용)
const statsSche = require('./server/scheduler/statsScheduler')(scheduler, maria, loggerCatcher);
//스케쥴러3. 조합통계 - 주간/월간 (메인페이지용)
const stats = require('./server/controller/statsController')(scheduler, maria, loggerCatcher);
// 비공개 처리용
const nodo = require('./server/controller/nodoController')(null, maria, loggerCatcher);
// 스케쥴러4. 사용자 상세 통계
const userDetail = require('./server/scheduler/userDetailScheduler')(scheduler, maria, loggerCatcher);
// 스케줄러6. 시즌오프용
const statsSeasonSche = require('./server/scheduler/statsSeasonScheduler')(scheduler, maria, loggerCatcher);
// 비공개 처리용
const provider = require('./server/controller/providerController')(null, maria, loggerCatcher);
const matchMapScehduler = require('./server/scheduler/matchMapScheduler')(scheduler, maria, loggerCatcher);
const email = require('./server/controller/emailController')(scheduler, maria, loggerCatcher);
// 배치 통합
const batch = require('./server/scheduler/BatchScheduler')(scheduler, loggerCatcher, maria);
// 캐릭 랭킹
const charRanking = require('./server/controller/charRankingController')(loggerCatcher, maria);
app.engine('html', require('ejs').renderFile);
app.set('view engine', 'ejs');
app.use(favicon(path.join(__dirname, 'ico', 'favicon.ico')))
app.use('/js', express.static(__dirname + "/js"));
app.use('/bootstrap', express.static(__dirname + '/node_modules/bootstrap/dist/js')); // redirect
app.use('/css', express.static(__dirname + '/node_modules/bootstrap/dist/css')); // redirect
app.use('/css', express.static(__dirname + '/css')); // redirect
app.use('/mobile', express.static(__dirname + '/mobile')); // redirect
app.use('/image', express.static(__dirname + '/image')); // redirect
app.use('/sitemap', express.static(__dirname + '/sitemap')); // redirect sitemap
app.use('/user', userController);
app.use('/rank', rankScheduler);
app.use('/matchesMap/', matchMapScehduler);
app.use('/rankChart', rankChart);
app.use('/history', userHistory);
app.use('/combi', combi);
app.use('/statsSche', statsSche);
app.use('/stats', stats);
app.use('/seasonOff', seasonOff);
app.use('/nodo', nodo);
app.use('/userDetail', userDetail);
app.use('/provide', provider);
app.use('/statsSeasonSche', statsSeasonSche);
app.use('/email', email);
app.use('/batch', batch);
app.use('/char', charRanking);
app.use(loggerCatcher());
const port = process.env.SERVER_PORT;
app.get('/', function(req, res) {
commonUtil.getIp(req);
if (commonUtil.isMobile(req)) {
res.render('./mobile/stats');
} else {
res.redirect('/stats/stats');
}
});
app.get("/robots.txt", (req, res) => {
res.type("text/plain");
res.send("User-agent: *\nAllow: /\nSitemap: http://doseh.co.kr/sitemap/sitemap.xml");
});
app.listen(port, () => {
logger.info('Server START listening on port ' + port);
})