forked from InserToken/Candly-Server
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
111 lines (107 loc) · 3.82 KB
/
app.js
File metadata and controls
111 lines (107 loc) · 3.82 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
require("dotenv").config();
require("./tasks/stockUpdater");
require("./tasks/scoreUpdater");
var createError = require("http-errors");
var express = require("express");
var path = require("path");
var cookieParser = require("cookie-parser");
var logger = require("morgan");
var cors = require("cors");
/* --------------------------------------- */
var indexRouter = require("./routes/index");
var authRouter = require("./routes/auth");
var userStockRouter = require("./routes/userStock");
var myPageRouter = require("./routes/myPage");
const practiceProblemSeedRouter = require("./routes/practiceProblemSeedRouter");
const stockSeedRouter = require("./routes/stockSeedRouter");
const holidayRouter = require("./routes/holiday");
const practiceProblemRouter = require("./routes/practiceProblem");
const realRouter = require("./routes/real");
const rankRouter = require("./routes/ranking");
const financialRouter = require("./routes/metricsRoutes");
const practiceScoreRouter = require("./routes/practicescores");
/* --------------------------------------- */
const mongoose = require("mongoose");
const dotenv = require("dotenv");
const jwt = require("jsonwebtoken");
const SECRET_KEY = "MyJWT";
/* --------------------------------------- */
dotenv.config();
pw = process.env.PW;
const DB_URL = `mongodb+srv://pius0316:${pw}@upanddown.n3ptkyf.mongodb.net/?retryWrites=true&w=majority&appName=UpAndDown`;
mongoose
.connect(DB_URL, {
retryWrites: true,
w: "majority",
appName: "express-mongodb",
})
.then(() => {
console.log("Connected Successful");
})
.catch((err) => {
console.log(err);
});
/* --------------------------------------- */
var app = express();
app.use(
cors({
origin: [
"http://localhost:3000",
"http://localhost",
"http://15.164.239.245",
], // TODO: 클라이언트 주소 배포하면 추가해주기
methods: ["GET", "POST", "PUT", "DELETE", "OPTIONS"],
credentials: true,
})
);
/* --------------------------------------- */
app.use(logger("dev"));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, "public")));
/* --------------------------------------- */
app.use("/", indexRouter);
app.use("/api/auth", authRouter);
const seedRouter = require("./routes/seed");
app.use("/api/seed", seedRouter);
app.use("/api/userStock", userStockRouter);
app.use("/api/myPage", myPageRouter);
app.use("/api/practiceSeed", practiceProblemSeedRouter);
app.use("/api/practicescores", practiceScoreRouter);
// app.use("/api/stockSeed", stockSeedRouter);
app.use("/api/holiday", holidayRouter);
app.use("/api/practice", practiceProblemRouter);
app.use("/api/real", realRouter);
app.use("/api/financial", financialRouter);
const newsRouter = require("./routes/news");
app.use("/api", newsRouter);
app.use("/api/rank", rankRouter);
const fetchFinancialData = require("./routes/financialRoutes");
app.use("/api", fetchFinancialData);
const fetchAllFinancialData = require("./routes/fetchAllFinancials");
app.use("/api", fetchAllFinancialData);
/* --------------------------------------- */
require("./services/getHoliday");
require("./tasks/dailyStockUpdater");
/* --------------------------------------- */
const port = process.env.PORT || 3001;
const geminiRouter = require("./routes/gemini");
app.use("/api/gemini", geminiRouter);
// 서버 시작
app.listen(port, () => {
console.log(`▶️ Server is listening on http://localhost:${port}`);
});
app.use(function (req, res, next) {
next(createError(404));
});
// error handler
app.use(function (err, req, res, next) {
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get("env") === "development" ? err : {};
// render the error page
res.status(err.status || 500);
// res.render("error");
});
module.exports = app;