fromis_9/docs
caadiq d530822a68 feat(festival-bot): 대학 축제 크롤러 봇 구현 (3단계)
검색 페이지(memogipost)를 크롤링하여 프로미스나인 출연 대학 축제를
Gemini url_context로 추출, 행사 일정을 자동 생성하는 봇.

백엔드:
- services/event.js: 이벤트 생성 로직 공유화 (upsertVenue, createEventSchedule, 카카오 검색)
- services/festival/: scraper(검색 페이지 크롤) + gemini(추출) + index(봇 플러그인)
- routes/admin/festival-bots.js: 축제 봇 CRUD API
- scheduler.js: festival 타입 지원, 시간 단위 cron(0 */H * * *) 변환
- 처리한 글 URL은 festival_crawl_log에 기록, 새 글 없으면 Gemini 미호출
- 학교명 부분일치 중복 감지, 활동 멤버 전체 자동 등록
- Gemini 503/500/429 재시도 로직

기타 수정:
- 행사 상세 페이지 관련 링크 줄바꿈 (truncate → break-all)
- 대학 축제 아이콘 변경 (GraduationCap → PartyPopper)
- docs/api.md, CLAUDE.md 환경변수 문서화

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-20 22:28:24 +09:00
..
api.md feat(festival-bot): 대학 축제 크롤러 봇 구현 (3단계) 2026-05-20 22:28:24 +09:00
architecture.md feat(schedule): 행사 수정 폼 + 공개 상세 페이지 + 지도 2026-04-23 12:24:01 +09:00
development.md feat(schedule): 행사 수정 폼 + 공개 상세 페이지 + 지도 2026-04-23 12:24:01 +09:00
logs.md feat(backend): 봇 연속 오류 시 자동 정지 로직 추가 2026-04-22 11:38:37 +09:00