Commit graph

11 commits

Author SHA1 Message Date
79f3816cec feat: 콘서트 카테고리 상세 페이지 추가
- KakaoMap 컴포넌트: 위도/경도 기반 지도 표시 기능
- ConcertSection: 포스터 이미지, 날짜 범위, 장소 정보 표시
- 위치 좌표가 없는 경우(해외) 장소명만 표시
- 백엔드 API에 이미지 정보 포함

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 15:23:40 +09:00
4f0cf724d0 feat: X 카테고리 상세 페이지 및 프로필 캐싱 기능 추가
- X 봇에서 Nitter 프로필 정보(이름, 아바타) 추출 및 Redis 캐싱
- X 프로필 조회 API 추가 (/api/schedules/x-profile/:username)
- X 상세 페이지 UI 구현 (트위터 카드 스타일)
- X 카테고리 클릭 시 상세 페이지로 이동하도록 변경

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 14:51:59 +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
80fad4d055 perf: 일정 페이지 월별 데이터 로딩으로 변경
- 프론트엔드: currentDate 변경 시 해당 월 일정만 로드
- 백엔드: /api/schedules에 year/month 파라미터 지원 추가
- 초기 로딩 속도 개선 (전체 로드 → 월별 로드)
2026-01-09 21:38:29 +09:00
c54de2ba82 feat: useInfiniteQuery 기반 무한 스크롤 구현 및 UI 개선
- react-infinite-scroll-component를 useInfiniteQuery + useInView로 대체
- Schedule.jsx, AdminSchedule.jsx에 안정적인 무한 스크롤 적용
- source_name에 Link2 아이콘 추가 (카테고리 오른쪽 인라인 표시)
- 멤버 5명 이상일 경우 '프로미스나인'으로 표시 (탈퇴 멤버 고려)
- AdminSchedule 일반 모드에서 members 배열도 확인하여 멤버 표시
- QueryClientProvider 설정 추가 (main.jsx)
2026-01-06 19:48:43 +09:00
cc8fe5a8a3 홈페이지 다가오는 일정 섹션 API 연동 및 UI 개선
- 백엔드: /api/schedules에 startDate, endDate, limit 파라미터 지원 추가
- 프론트엔드: 더미 데이터 제거, 실제 API 호출로 변경
- KST 기준으로 오늘 이후 3개 일정 표시
- 일정 페이지와 동일한 카드 스타일 적용
- 멤버 5명 이상이면 '프로미스나인'으로 표시
2026-01-06 12:04:27 +09:00
068c5ffbbb Meilisearch 검색 기능 개선
- 검색 결과 유사도순 정렬 (동일 유사도 시 최신 날짜 우선)
- 프론트엔드 검색 재정렬 제거 (Meilisearch 순서 유지)
- 관리자 일정 페이지 Meilisearch 검색 적용
- 일정 수정 시 Meilisearch 동기화 추가
- 서버 시작 시 자동 동기화
- 멤버 이름 쉼표 구분으로 통일
2026-01-06 08:46:10 +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
52332babea 일정 관리 기능 개선: 봇 스케줄러 리팩토링, 멤버 표시, UI 개선
- 봇 스케줄러: 서버 시작 시 자동 초기화, 10초 간격 상태 동기화
- DB 리팩토링: bots 테이블에서 YouTube 컬럼 분리, bot_youtube_config 활용
- 봇별 커스텀 설정: BOT_CUSTOM_CONFIG 상수로 코드 내 관리
- 공개/관리자 일정 목록에 멤버 태그 표시 (5명 이상이면 '프로미스나인')
- 일정 목록 글씨 크기 증가 및 UI 개선
- source_name 관리자 일정에 뱃지로 표시
- 봇 시작/정지 토스트에 봇 이름 포함
2026-01-06 00:27:35 +09:00
1b01182028 feat: 일정 봇 자동화 및 검색 기능 추가
- YouTube 일정 봇 서비스 추가 (youtube-bot.js, youtube-scheduler.js)
- 공개 일정 API 라우터 추가 (schedules.js)
- 관리자 일정 봇 관리 페이지 추가 (AdminScheduleBots.jsx)
- 백엔드 의존성 업데이트
2026-01-05 22:16:02 +09:00