검색 K
밝은/어두운 배경
밝은/어두운 배경
게시물 정보
이 파트의 진입점은
api/api-server.ts(로컬 개발)이며, 프로덕션에서는 Vercel Serverless Functions로 각 파일이 독립 배포됩니다.
사용자의 RSS 피드 등록 신청과 철회 요청을 접수하고, 운영자 검토를 거쳐 DB를 갱신합니다. DB 상태 변경이 파트 1 스크래퍼에 자동으로 반영됩니다.
api/) | 파일 | 메서드 | 경로 | 역할 |
|---|---|---|---|
rss-register.ts | POST | /api/rss-register | 피드 등록 신청 접수 |
review.ts | GET | /api/review | 운영자 등록 신청 승인/반려 |
my-feeds.ts | POST | /api/my-feeds | 내 활성 피드 목록 조회 |
rss-withdraw.ts | POST | /api/rss-withdraw | 피드 철회 신청 접수 |
withdraw-review.ts | GET | /api/withdraw-review | 운영자 철회 신청 확인/거부 |
api/_*.ts) | 파일 | 역할 | 변경 빈도 |
|---|---|---|
_auth.ts | 사용자 비밀번호 검증 (bcrypt) | 낮음 |
_db.ts | Neon DB 연결 단일 인스턴스 | 낮음 |
_middleware.ts | CORS 설정 · 인증 미들웨어 | CORS 도메인 추가 시 |
_ops.ts | 등록/철회 공통 DB 조작 함수 | DB 스키마 변경 시 |
_mailer.ts | Resend 이메일 발송 · HTML 생성 | 메일 양식 변경 시 |
_html.ts | 메일 HTML 공통 스타일·유틸 | 디자인 변경 시 |
_token.ts | 일회성 review token 생성 | 낮음 |
_validator.ts | RSS URL·sourceLink 검증 | 낮음 |
_github.ts | GitHub Actions 워크플로우 트리거 | 낮음 |
scripts/) | 파일 | 실행 방법 | 역할 |
|---|---|---|
api-server.ts | tsx scripts/api-server.ts | 로컬 개발용 Express 서버 |
hash-password.ts | tsx scripts/hash-password.ts <비밀번호> | 사용자 비밀번호 해시 생성 |
send-reminders.ts | GitHub Actions 스케줄 실행 | 미처리 신청 재알림 발송 |
rss-register.ts
├── _middleware.ts (_auth.ts, _db.ts)
├── _validator.ts
├── _token.ts
├── _mailer.ts (_html.ts)
├── _db.ts
└── scraper/feedRepository.ts ← isScraperLocked()
review.ts
├── _middleware.ts
├── _ops.ts (_db.ts, _validator.ts, _mailer.ts)
├── _mailer.ts
└── _github.ts
rss-withdraw.ts
├── _middleware.ts
├── _token.ts
├── _mailer.ts
├── _db.ts
└── scraper/feedRepository.ts ← isScraperLocked()
withdraw-review.ts
├── _middleware.ts
├── _ops.ts
├── _mailer.ts
└── _github.ts
my-feeds.ts
├── _middleware.ts
└── _db.ts| 작업 | 참고 문서 |
|---|---|
| 엔드포인트 동작 · 요청/응답 스펙 확인 | 01-endpoints.md |
| DB 테이블 구조 파악 | 02-db-schema.md |
| 등록·철회 상태 흐름 이해 | 03-status-flow.md |
| 이메일 발송 구조 파악 | 04-mailer.md |
| 로컬 개발 환경 세팅 | 05-local-dev.md |