No description
Find a file
caadiq 54e014c833 perf(schedule): 월별 일정 Redis 캐시 + 쓰기 시 무효화
캘린더(최다 호출 공개 엔드포인트) getMonthlySchedules를 getOrSet으로
캐시(TTL 60s). 무효화는 모든 쓰기가 수렴하는 3개 meili 동기화 함수
(addOrUpdateSchedule/syncScheduleById/deleteSchedule)에 redis 전달 시
schedule:monthly:* 무효화. 관리자 라우트·봇 경로에서 redis 전달(즉시
반영), festival/누락 경로는 60s TTL로 자동 치유.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-07 16:39:40 +09:00
app feat(app): 예능 일정 상세 화면 추가 2026-04-05 17:06:06 +09:00
backend perf(schedule): 월별 일정 Redis 캐시 + 쓰기 시 무효화 2026-06-07 16:39:40 +09:00
docs docs: 계획서 웨이브2 완료 체크 2026-06-07 16:19:47 +09:00
frontend perf(schedule): 카드 onClick 안정화로 React.memo 복구 2026-06-07 16:19:33 +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