No description
Find a file
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
app feat(app): 예능 일정 상세 화면 추가 2026-04-05 17:06:06 +09:00
backend feat(festival-bot): 대학 축제 크롤러 봇 구현 (3단계) 2026-05-20 22:28:24 +09:00
docs feat(festival-bot): 대학 축제 크롤러 봇 구현 (3단계) 2026-05-20 22:28:24 +09:00
frontend feat(festival-bot): 대학 축제 크롤러 봇 구현 (3단계) 2026-05-20 22:28:24 +09:00
.env feat(festival-bot): 대학 축제 크롤러 봇 구현 (3단계) 2026-05-20 22:28:24 +09:00
.gitignore feat(schedule): 행사 수정 폼 + 공개 상세 페이지 + 지도 2026-04-23 12:24:01 +09:00
CLAUDE.md feat(festival-bot): 대학 축제 크롤러 봇 구현 (3단계) 2026-05-20 22:28:24 +09:00
docker-compose.yml refactor: Meilisearch 봇을 단순 일일 동기화 방식으로 변경 2026-01-27 11:59:18 +09:00
README.md 📝 README 및 .gitignore 스타일 정리 2025-12-31 21:46:09 +09:00

🌸 fromis_9 Fan Site

프로미스나인 팬사이트입니다.

React Node.js Docker


주요 기능

  • 👥 멤버 소개 - 프로미스나인 멤버 프로필 및 상세 정보
  • 💿 디스코그래피 - 앨범 목록 및 타이틀곡 정보
  • 📅 스케줄 - 예정된 활동 일정 (자동 업데이트)
  • 🔗 SNS 링크 - 공식 소셜 미디어 바로가기

📁 프로젝트 구조

fromis_9/
├── frontend/          # React + Vite 프론트엔드
├── backend/           # Node.js + Express 백엔드
├── Dockerfile         # 멀티스테이지 Docker 빌드
└── docker-compose.yml # Docker Compose 설정

🛠️ 기술 스택

Frontend

기술 설명
React 18 UI 라이브러리
Vite 빌드 도구
TailwindCSS CSS 프레임워크
react-device-detect PC/모바일 분기
framer-motion 애니메이션

Backend

기술 설명
Node.js 런타임 환경
Express 웹 프레임워크
MySQL2 데이터베이스 연동

🚀 실행 방법

Docker (권장)

docker compose up -d --build

개발 모드

# 프론트엔드
cd frontend && npm install && npm run dev

# 백엔드
cd backend && npm install && npm start

⚙️ 환경 변수

.env 파일에 다음 변수들을 설정하세요:

DB_HOST=mariadb
DB_USER=fromis9
DB_PASSWORD=your_password
DB_NAME=fromis9

🌐 접속


📄 라이선스

MIT License