backend_adaptive_learning/index.js
2024-10-28 16:18:25 +07:00

42 lines
1008 B
JavaScript

import express from "express";
import cors from "cors";
import dotenv from "dotenv";
import { testConnection } from "./database/db.js";
import router from "./routes/index.js";
import cookieParser from "cookie-parser";
import promBundle from "express-prom-bundle";
dotenv.config();
const app = express();
const metricsMiddleware = promBundle({
includeMethod: true,
includePath: true,
includeStatusCode: true,
promClient: {
collectDefaultMetrics: {},
},
});
app.use(metricsMiddleware);
const corsOptions = {
origin: `${process.env.CLIENT_URL}`,
methods: ["GET", "POST", "PUT", "DELETE", "OPTIONS"],
allowedHeaders: ["Content-Type", "Authorization"],
credentials: true,
};
app.use(cors(corsOptions));
app.use(cookieParser());
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use(router);
app.use(express.static("public"));
app.listen(process.env.APP_PORT, () => {
testConnection();
console.log(`Server running on port ${process.env.APP_PORT}`);
});