Skip to content

Commit d9ac175

Browse files
authored
메인 뉴스 섹션을 소식지 API로 전환하고 Firebase 제거 (#442)
* feat: 메인 뉴스 섹션을 소식지 목록 API 데이터로 전환 * chore: 웹앱 firebase 코드와 의존성 제거
1 parent b6c9c01 commit d9ac175

8 files changed

Lines changed: 27 additions & 1007 deletions

File tree

apps/web/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
"axios": "^1.6.7",
3333
"class-variance-authority": "^0.7.1",
3434
"clsx": "^2.1.1",
35-
"firebase-admin": "^12.0.0",
3635
"linkify-react": "^4.3.2",
3736
"linkifyjs": "^4.3.2",
3837
"lucide-react": "^0.479.0",
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import type { ArticleListResponse } from "@/apis/news";
2+
import type { News } from "@/types/news";
3+
import serverFetch from "@/utils/serverFetchUtil";
4+
5+
const HOME_NEWS_AUTHOR_ID = 6;
6+
7+
export const getHomeNewsList = async (): Promise<News[]> => {
8+
const response = await serverFetch<ArticleListResponse>(`/news?author-id=${HOME_NEWS_AUTHOR_ID}`);
9+
10+
if (!response.ok) {
11+
console.error("Failed to fetch home news list:", response.error);
12+
return [];
13+
}
14+
15+
return response.data.newsResponseList
16+
.map((news) => ({
17+
id: news.id,
18+
title: news.title,
19+
description: news.description,
20+
imageUrl: news.thumbnailUrl,
21+
url: news.url,
22+
}))
23+
.sort((a, b) => a.id - b.id);
24+
};

apps/web/src/app/(home)/page.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import type { Metadata } from "next";
22
import dynamic from "next/dynamic";
33
import Link from "next/link";
4+
import { getHomeNewsList } from "@/apis/news/server/getNewsList";
45
import { getCategorizedUniversities, getRecommendedUniversity } from "@/apis/universities/server";
5-
import { fetchAllNews } from "@/lib/firebaseNews";
66
import { IconIdCard, IconMagnifyingGlass, IconMuseum, IconPaper } from "@/public/svgs/home";
77
import FindLastYearScoreBar from "./_ui/FindLastYearScoreBar";
88
import NewsSectionSkeleton from "./_ui/NewsSection/skeleton";
@@ -64,7 +64,7 @@ const structuredData = {
6464
};
6565

6666
const HomePage = async () => {
67-
const newsList = await fetchAllNews();
67+
const newsList = await getHomeNewsList();
6868
const { data } = await getRecommendedUniversity();
6969
const recommendedUniversities = data?.recommendedUniversities || [];
7070
// 권역별 전체 대학 리스트를 미리 가져와 빌드합니다
@@ -147,4 +147,4 @@ const HomePage = async () => {
147147

148148
export default HomePage;
149149

150-
export const revalidate = 60 * 60 * 24; // 1 day
150+
export const revalidate = 86400; // 1 day

apps/web/src/lib/firebaseAdmin.ts

Lines changed: 0 additions & 70 deletions
This file was deleted.

apps/web/src/lib/firebaseKeywords.ts

Lines changed: 0 additions & 42 deletions
This file was deleted.

apps/web/src/lib/firebaseNews.ts

Lines changed: 0 additions & 26 deletions
This file was deleted.

apps/web/src/lib/firebaseServices.ts

Lines changed: 0 additions & 34 deletions
This file was deleted.

0 commit comments

Comments
 (0)