Commit graph

13 commits

Author SHA1 Message Date
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
9bb6aedca7 chore: PubSubHubbub 환경변수 제거
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 15:54:18 +09:00
48f41c6db0 feat: 장소 검색 API 추가 (카카오/구글)
- 국내: 카카오맵 API (/api/admin/kakao/places)
- 해외: 구글 Places API (/api/admin/google/places)
- YOUTUBE_API_KEY를 GOOGLE_API_KEY로 통합

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 14:06:33 +09:00
cd70fb18c9 chore: NODE_ENV를 development로 변경
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 22:12:16 +09:00
2278d42026 chore: 환경 변수 파일 업데이트 2026-01-06 14:17:31 +09:00
346d6529f2 Meilisearch 검색 엔진 도입
- Docker Compose에 Meilisearch 서비스 추가
- meilisearch.js 서비스 생성 (초기화, CRUD, 검색)
- 공개 일정 API에 Meilisearch 검색 통합
- 일정 생성/삭제 시 Meilisearch 자동 동기화
- YouTube 봇 일정 추가 시 Meilisearch 동기화
- sync-search API 추가 (기존 데이터 일괄 동기화)
- 다중 키워드, 오타 허용, 유사어 검색 지원
2026-01-06 08:22:43 +09:00
e216539f34 feat(bot): studiofromis_9 채널 봇 추가 및 cron 표현식 지원
- .env에 YouTube API 키 추가
- bots 테이블에 channel_id, rss_url, cron_expression 컬럼 추가
- youtube-scheduler.js: cron_expression 파라미터 지원
- youtube-bot.js: bots 테이블에서 직접 조회, Shorts 필터링 제거
- studiofromis_9 봇 등록 (채널: UCW0ORl7mZO8wIWkgtq-yzjQ, cron: 1,2 * * * *)
2026-01-05 22:26:44 +09:00
dff43126c4 feat(schedule): 일정 수정/삭제 기능 구현 및 DB 스키마 개선
- schedule_members 테이블 분리 (members 컬럼 → 별도 테이블)
- schedules 테이블 컬럼 comment 추가 및 순서 정리
- 상세주소(location_detail) 필드 추가
- 장소 검색 UI 개선 (탭 제거 → 입력 필드+검색 버튼 병합)
- 카카오 장소 검색 API 프록시 추가 (/api/admin/kakao/places)
- 백엔드 CRUD API 구현 (GET/PUT/DELETE /schedules/:id)
- 프론트엔드 삭제 기능 및 확인 다이얼로그 추가
- 프론트엔드 수정 모드 지원 (기존 데이터 로드)
2026-01-05 18:11:40 +09:00
fd1807f38c feat: 앨범 사진/티저 업로드 기능 구현
- SSE 기반 실시간 업로드 진행률 표시
- 컨셉 포토/티저 이미지 분리 (photo/ vs teaser/ 폴더)
- album_photos, album_teasers 테이블에 분리 저장
- 3개 해상도별 URL 컬럼 분리 (original_url, medium_url, thumb_url)
- 파일 업로드 시 타입 선택 잠금
- 티저 모드: 순서만 변경 가능, 메타 정보 입력 불필요
- 이미지 처리 병렬화로 성능 개선
- RUSTFS_PUBLIC_URL 환경변수 추가
2026-01-02 00:10:47 +09:00
40fa94f9f5 feat: 앨범 관리 기능 - CRUD API, RustFS 커버 업로드, 트랙 상세 정보, Toast 알림 2026-01-01 20:36:49 +09:00
009c428d37 feat: 관리자 페이지 추가
- 관리자 로그인 시스템 (JWT, 30일 만료)
- admin_users 테이블 및 bcrypt 암호화
- 로그인 페이지 (/admin)
- 대시보드 (/admin/dashboard)
- 메뉴: 멤버, 앨범, 일정 관리
2026-01-01 18:01:42 +09:00
12c58c622e 🔧 UI 개선: 푸터 정리, X 아이콘, 스케줄 디자인 개선, min-width 설정 2025-12-31 22:02:32 +09:00
05b77140d6 📝 README 및 .gitignore 스타일 정리 2025-12-31 21:46:09 +09:00