Commit graph

8 commits

Author SHA1 Message Date
255839a598 비디오 티저 썸네일 추출 기능 추가
- DB: album_teasers 테이블에 video_url 컬럼 추가
- 백엔드: 비디오 업로드 시 ffmpeg로 썸네일 추출 후 WebP 저장
- 백엔드: video_url에 MP4 URL 저장, 썸네일은 기존 URL 필드 사용
- 프론트엔드: 썸네일 이미지 표시, 클릭 시 video_url로 재생
- Flutter 앱: Teaser 모델에 videoUrl 필드 추가 및 비디오 재생 수정
- Docker: ffmpeg 설치 추가 (Dockerfile, docker-compose.dev.yml)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 11:59:58 +09:00
727b05f0f5 feat(Search): Redis 기반 bi-gram 추천 검색어 시스템 구현
- MariaDB 테이블 추가 (search_queries, word_pairs)
- Redis 컨테이너 추가 (Sorted Set 캐싱)
- 백엔드 suggestions 서비스 및 API 구현
- 검색 실행 시 검색어 저장 (bi-gram 학습)
- PC Schedule 프론트엔드 연동 완료
2026-01-11 21:33:55 +09:00
0e6e13fe65 refactor: 백엔드에 dayjs 도입 및 날짜 유틸리티 통합
- lib/date.js: dayjs 기반 공통 날짜 유틸리티 모듈 추가
  - toKST, formatDate, formatTime, utcToKSTDateTime, nowKST
  - parseNitterDateTime (Nitter 날짜 파싱)
  - dayjs/plugin/utc, timezone, customParseFormat 사용

- youtube-bot.js: 로컬 날짜 함수 제거, lib/date.js 사용
- x-bot.js: 로컬 날짜 함수 제거, lib/date.js 사용

- 중복 코드 제거로 유지보수성 향상
2026-01-10 19:44:07 +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
1b01182028 feat: 일정 봇 자동화 및 검색 기능 추가
- YouTube 일정 봇 서비스 추가 (youtube-bot.js, youtube-scheduler.js)
- 공개 일정 API 라우터 추가 (schedules.js)
- 관리자 일정 봇 관리 페이지 추가 (AdminScheduleBots.jsx)
- 백엔드 의존성 업데이트
2026-01-05 22:16:02 +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
617057727d 🎉 Initial commit - 프로젝트 구조 및 Docker 설정 2025-12-31 21:44:40 +09:00