fromis_9/backend/server.js
caadiq 1ca5640a67 feat: 앨범 데이터 API 연동
- 백엔드: /api/albums 라우트 추가 (routes/albums.js)
- 앨범별 트랙 정보 포함 조회
- 프론트엔드: Discography 페이지 API 연동
- 앨범 타입별 통계 동적 계산
- 타이틀곡 자동 표시
2026-01-01 09:32:38 +09:00

36 lines
1 KiB
JavaScript

import express from "express";
import path from "path";
import { fileURLToPath } from "url";
import membersRouter from "./routes/members.js";
import albumsRouter from "./routes/albums.js";
import statsRouter from "./routes/stats.js";
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const app = express();
const PORT = process.env.PORT || 80;
// JSON 파싱
app.use(express.json());
// 정적 파일 서빙 (프론트엔드 빌드 결과물)
app.use(express.static(path.join(__dirname, "dist")));
// API 라우트
app.get("/api/health", (req, res) => {
res.json({ status: "ok", timestamp: new Date().toISOString() });
});
app.use("/api/members", membersRouter);
app.use("/api/albums", albumsRouter);
app.use("/api/stats", statsRouter);
// SPA 폴백 - 모든 요청을 index.html로
app.get("*", (req, res) => {
res.sendFile(path.join(__dirname, "dist", "index.html"));
});
app.listen(PORT, () => {
console.log(`🌸 fromis_9 서버가 포트 ${PORT}에서 실행 중입니다`);
});