Phase 1 MVP 완료 후 추가 개선 및 신규 기능에 대한 요구사항입니다.
- 카테고리 표시 개선(§3) → 카테고리 필터(§1): 파서에서 category 정확히 분류해야 필터가 의미 있음
- 게임 모드 지원 확장(§6): 메인 페이지 구조 변경 시 캐시 무효화(§6.3) 함께 반영
- 크롤러 메타데이터(§4): §6 완료 후 모드별 타임스탬프 기록 구현
- 캐시 전략: Phase 2 기능 구현 시
use cache적용·확장 시 반드시 고려- 신규 데이터 fetcher는
cacheTag,cacheLife명시 - 태그는 모드·페이지·검색 등 용도별로 분리 (예:
patches,search-results)
- 신규 데이터 fetcher는
- 현재 패치 상세 페이지에는 변경 유형 필터(All, Buff, Nerf, Adjust)만 존재
- 사용자가 챔피언/아이템/기타 항목을 빠르게 탐색하기 어려움
- 카테고리 필터 추가: 챔피언, 아이템, 그 외(시스템 등)
- 기존 변경 유형 필터와 조합 가능하게 구현
- 예: "챔피언" + "너프"로 필터링 → 이번 패치에서 너프된 챔피언만 조회
- 카테고리 표시 개선(§3) 선행 필요: category가 정확히 분류되어야 필터 동작 가능
- 필터 UI가 복잡해지지 않도록 직관적인 디자인 필요
- 모바일에서도 사용하기 편한 레이아웃 (드롭다운, 토글 버튼 등 검토)
- 필터 상태가 URL에 반영되면 공유에 용이 (선택 사항)
- 패치 상세 페이지 내 검색: 현재 패치 내 챔피언/아이템 검색 (우선 구현)
- UI 위치: 변경 유형 토글(All, Buff, Nerf, Adjust) 영역 오른쪽 끝
- 검색 대상: 챔피언명, 아이템명, 변경 내용
- 토글 영역 오른쪽 끝에 검색 input 배치
- 입력 시 items를 클라이언트에서 필터링 (이름, 변경 내용 기준)
- 현재 UI에서 챔피언/아이템 옆에 "UNKNOWN"으로 표시됨
- 파서가
category: 'unknown'으로 하드코딩되어 있음
- 패치노트 HTML 구조를 파싱하여 카테고리 자동 분류 (실제 구조 확인 필요:
<h2>,id등) - UI에 "챔피언", "아이템", "시스템" 등으로 표시
- 기존 DB
category컬럼 및 UI Badge 활용 (신규 개발 최소화) - LoL 패치노트 HTML 구조 분석 (섹션별 h2/h3 id 등)
- 파서에서
category: 'unknown'→ 실제 값으로 분류
- 마지막 크롤링 시간을 DB에 저장하여 상태 모니터링
-
crawler_runs테이블 추가 또는 기존 테이블에last_crawled_at컬럼 추가 - 모드 구분: LoL/TFT 등
game_mode또는patch_type컬럼으로 크롤링 대상 구분 - 크롤러 실행 시 타임스탬프 기록 (모드별로)
- (선택) 관리자 페이지에서 확인 가능
- 디자인 컨셉 확정
- 반응형 웹 재점검 (모바일/태블릿/데스크탑)
- (기타 디자인 요소 추가)
- 현재는 소환사의 협곡 패치노트만 제공
- LoL 생태계 내 다른 인기 모드의 패치노트 수요 존재
- TFT 크롤러:
game-updates페이지에서 TFT 링크 추출, 상세 HTML 파싱 - TFT 파서: TFT 패치노트 HTML 구조에 맞는 파서 신규 작성
- DB 스키마:
patches또는games에game_mode/patch_type컬럼 추가 - 전략적 팀 전투(TFT) 패치노트 추가
- 메인 화면에서 게임 모드 선택 UI
- 소환사의 협곡 / 전략적 팀 전투 중 선택
- 선택한 모드에 따라 해당 패치 목록만 노출
- 칼바람 증강모드 패치노트 추가 예정
- 크롤 대상 URL
- LoL(소환사의 협곡):
https://www.leagueoflegends.com/ko-kr/news/tags/patch-notes/(현재) 또는.../news/game-updates/ - TFT:
https://www.leagueoflegends.com/ko-kr/news/game-updates/에서 TFT 링크 추출 - TFT 상세 URL 형식:
https://teamfighttactics.leagueoflegends.com/ko-kr/news/game-updates/teamfight-tactics-patch-{major}-{minor}
- LoL(소환사의 협곡):
- DB:
games테이블 확장 또는game_mode/patch_type컬럼 추가 검토 - 라우팅:
/summoners-rift,/tft또는 쿼리 파라미터 방식 검토
- 현재 크롤러 완료 시
revalidateTag('patches', { expire: 0 })로 패치 데이터 캐시를 즉시 만료함 (app/api/crawl/route.ts) - 메인 페이지가 모드 선택 화면으로 변경되면, 패치 목록이 모드별로 분리됨 →
revalidateTag호출부 수정 필요- 예: 모드별 캐시 태그(
patches-summoners-rift,patches-tft) 도입 시, 크롤된 모드의 태그만revalidateTag호출 - 새 패치 반영이 즉시 되려면 크롤된 모드에 해당하는 캐시 태그를 무효화해야 함
- 예: 모드별 캐시 태그(
- 메인 상단에 탭 또는 토글 형태로 모드 선택
- 선택 상태가 URL에 반영되어 북마크·공유 가능하도록 (선택 사항)
- 예) "아트록스" 검색 시 모든 패치의 아트록스 변경사항 조회
- UI: 구글 홈 화면처럼 메인/홈 화면 가운데 검색 input, 검색 결과 전용 화면
-
분기점 계산 (예: "AP 100 이상이면 상향, 미만이면 하향")
-
레벨별/스킬랭크별 유불리 시각화
-
(추가 요구사항 작성)
작성자 메모: v1.0 기준 문서입니다. 필요한 항목을 추가/삭제/수정해 주세요.