generated from ttipo/project-base
feat(backend): 기상청 단기예보와 공휴일 표 추가 #12
Reference in New Issue
Block a user
Delete Branch "feat/weather-holidays"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
무엇을 · 왜
AI 코스 생성의 조건 해석과 후보 거르기(설계 §3.3)에 그날 날씨와 공휴일이 필요하다. 구현 순서의 3단계(설계 §14)다.
아직 API 에는 연결하지 않았다. 생성 작업(4단계)이
WeatherService와 공휴일 표를 쓴다.공휴일 표 —
backend/src/shared/utils/kr-holidays.tsisHolidayTableYear가 false 라 쓰는 쪽이 경고를 남길 수 있다출처: 뉴시스 — 인사처 '관공서의 공휴일 규정' 개정안 국무회의 의결, 머니투데이 — 노동절·제헌절 올해부터 공휴일, 공휴일 목록 2026 · 2027
공휴일에 장소 거르기 —
course-generation/planner/filter.tsclosedOnHoliday)PlanContext.holiday가boolean에서 공휴일 종류(HolidayKind | null)로 바뀌었다날씨 —
backend/src/modules/weather/kma-grid.tskma-forecast.tskma-forecast.client.tsgetVilageFcst를 부른다(아래 목록)weather.service.ts발표 시각 고르기와 요약 (
kma-forecast.ts)14시 발표는 글피까지, 1723시 발표는 그글피까지 예보가 나온다호출 (
kma-forecast.client.ts)캐시와 실패 처리 (
weather.service.ts)키는 장소 동기화에 쓰던
PUBLIC_DATA_SERVICE_KEY를 그대로 쓰고, 없으면 날씨만 '예보 없음'이다.함께 바꾼 것
place/sync/public-data.client.ts: 호출 제한 시간·시도 횟수를 설정할 수 있게 했다. 기존 동기화는 그대로 20초·3번이다src/commands/weather-check.ts+npm run weather:check: 실제 호출 확인 명령. 오늘부터 4일 뒤까지 날마다 시간 범위 요약을 보여 준다docs/design/ai-course.md: §3.3(공휴일·날씨), §3.7(weather필드), §11(키), §14 에 적었다확인 방법
2026-11-08 15:38 에 실제 호출을 확인했다.
키 없이 띄우면 경고를 남기고 날마다 '예보 없음'으로 끝나는 것도 확인했다.
영향 범위
체크리스트
npm run sync:error-codes실행 후 생성 파일까지 커밋: 해당 없음🤖 Generated with Claude Code