54 lines
1.5 KiB
Markdown
54 lines
1.5 KiB
Markdown
# Express → Fastify 마이그레이션
|
|
|
|
## 개요
|
|
|
|
`backend-backup/` (Express) → `backend/` (Fastify)로 마이그레이션 진행 중
|
|
|
|
## 완료된 작업
|
|
|
|
### 서버 기반
|
|
- [x] Fastify 앱 구조 (`src/app.js`, `src/server.js`)
|
|
- [x] 플러그인 시스템 (`src/plugins/`)
|
|
- db.js (MariaDB)
|
|
- redis.js
|
|
- auth.js (JWT)
|
|
- meilisearch.js
|
|
- scheduler.js (봇 스케줄러)
|
|
|
|
### API 라우트 (`src/routes/`)
|
|
- [x] 인증 (`/api/auth`)
|
|
- [x] 멤버 (`/api/members`)
|
|
- [x] 앨범 (`/api/albums`)
|
|
- [x] 일정 (`/api/schedules`)
|
|
- 월별 조회 (생일 일정 포함)
|
|
- Meilisearch 검색
|
|
- 별명 → 멤버이름 변환
|
|
- 영문자판 → 한글 변환
|
|
- [x] 추천 검색어 (`/api/schedules/suggestions`)
|
|
- kiwi-nlp 형태소 분석
|
|
- bi-gram 자동완성
|
|
|
|
### 서비스 (`src/services/`)
|
|
- [x] YouTube 봇 - 영상 자동 수집
|
|
- [x] X(Twitter) 봇 - Nitter 스크래핑
|
|
- [x] Meilisearch 검색
|
|
- [x] 추천 검색어
|
|
|
|
## 남은 작업
|
|
|
|
### 어드민 API
|
|
- [ ] 일정 CRUD (`POST/PUT/DELETE /api/schedules`)
|
|
- [ ] 이미지 업로드 (`/api/images`)
|
|
- [ ] 멤버 관리 (`POST/PUT/DELETE /api/members`)
|
|
- [ ] 앨범 관리 (`POST/PUT/DELETE /api/albums`)
|
|
- [ ] 카테고리 관리 (`/api/categories`)
|
|
|
|
### 기타
|
|
- [ ] 통계 API (`/api/stats`)
|
|
- [ ] 어드민 사전 관리 (형태소 분석용)
|
|
|
|
## 참고 사항
|
|
|
|
- 기존 Express 코드는 `backend-backup/` 폴더에 보존
|
|
- 마이그레이션 시 기존 코드 참조하여 동일 기능 구현
|
|
- DB 스키마는 변경 없음 (기존 테이블 그대로 사용)
|