Files
site11/PLAN.md
jungwoo choi a38fcc204c docs: Update documentation for Step 8 completion
- Updated PLAN.md to reflect Step 8 completion
- Added OAuth service to current services list
- Renumbered subsequent steps
- Updated PROGRESS.md with Step 8 details and outcomes
- Added new service ports and problem resolutions

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-10 17:58:29 +09:00

185 lines
4.6 KiB
Markdown

# 프로젝트 개발 계획
## 프로젝트 목표
마이크로서비스 아키텍처 기반의 확장 가능한 웹 애플리케이션 구축
## 아키텍처 원칙
1. **Console as API Gateway**: 모든 외부 요청은 Console을 통해 라우팅
2. **Docker-Only Development**: 모든 개발과 실행은 Docker 컨테이너 내에서
3. **Event-Driven Architecture**: Kafka를 통한 서비스 간 비동기 통신
4. **Service Isolation**: 각 서비스는 독립적으로 배포 가능
## 완료된 단계 (✅)
### Phase 1: 기반 구축
- [x] Step 1: 기본 프로젝트 구조 및 Docker 설정
- [x] Step 2: Users 마이크로서비스 구현
- [x] Step 3: MongoDB 통합
- [x] Step 4: Redis 캐싱 시스템
- [x] Step 5: Frontend 스켈레톤 (React + Vite)
- [x] Step 6: JWT 인증 시스템
- [x] Step 6.5: Images 서비스 통합
- [x] Step 7: Kafka 이벤트 시스템
- [x] Step 8: OAuth 2.0 인증 시스템 및 프로필 기능
## 진행 예정 단계
### Phase 2: 이벤트 기반 시스템 확장
#### Step 9: 고급 이벤트 처리
- [ ] 이벤트 소비자 구현
- Console에서 user-events 토픽 구독
- 알림 서비스 이벤트 처리
- [ ] Dead Letter Queue 구현
- [ ] 이벤트 재시도 메커니즘
- [ ] 이벤트 스키마 레지스트리
#### Step 10: 태스크 큐 시스템
- [ ] Kafka 기반 백그라운드 작업 처리
- [ ] 이미지 프로세싱 작업 큐
- [ ] 이메일 전송 큐
- [ ] 배치 작업 스케줄러
### Phase 3: 고급 기능
#### Step 11: 실시간 기능
- [ ] WebSocket 통합 (Console)
- [ ] 실시간 알림 시스템
- [ ] 온라인 사용자 상태 추적
- [ ] 실시간 데이터 동기화
#### Step 12: 파일 시스템
- [ ] 파일 업로드 서비스
- [ ] S3 호환 객체 스토리지 (MinIO)
- [ ] 파일 메타데이터 관리
- [ ] 썸네일 생성 서비스
#### Step 13: 검색 시스템
- [ ] Elasticsearch 통합
- [ ] 전문 검색 기능
- [ ] 자동완성 기능
- [ ] 검색 분석 및 최적화
### Phase 4: 프로덕션 준비
#### Step 14: 모니터링 및 로깅
- [ ] Prometheus 메트릭 수집
- [ ] Grafana 대시보드
- [ ] ELK Stack 로깅
- [ ] 분산 추적 (Jaeger)
#### Step 15: 보안 강화
- [ ] Rate Limiting
- [ ] API Key 관리
- [ ] OAuth2 통합
- [ ] 데이터 암호화
#### Step 16: 테스트 및 CI/CD
- [ ] 단위 테스트 작성
- [ ] 통합 테스트
- [ ] E2E 테스트
- [ ] GitHub Actions CI/CD
#### Step 17: 성능 최적화
- [ ] 데이터베이스 인덱싱
- [ ] 쿼리 최적화
- [ ] 캐싱 전략 개선
- [ ] CDN 통합
## 서비스 구성
### 현재 서비스
1. **Console** (API Gateway)
- Frontend: React SPA
- Backend: FastAPI, JWT 인증
2. **Users Service**
- User CRUD
- MongoDB 저장소
- Kafka 이벤트 발행
- 프로필 정보 관리 (사진, bio, location 등)
3. **Images Service**
- 이미지 프록시
- 캐싱 시스템
- WebP 변환
4. **OAuth Service**
- OAuth 2.0 인증 서버
- 애플리케이션 등록 및 관리
- 토큰 발급 및 검증
- SSO 지원 (Google, GitHub, SAML)
- 스코프 기반 권한 관리
### 계획된 서비스
5. **Notification Service**
- 이메일/SMS 전송
- 푸시 알림
- 알림 히스토리
6. **Analytics Service**
- 사용자 행동 분석
- 비즈니스 메트릭
- 리포트 생성
7. **Payment Service**
- 결제 처리
- 구독 관리
- 청구서 생성
## 기술 스택 로드맵
### 현재 사용 중
- FastAPI, React, TypeScript
- MongoDB, Redis
- Apache Kafka
- Docker, Docker Compose
### 도입 예정
- Elasticsearch (검색)
- MinIO (객체 스토리지)
- Prometheus/Grafana (모니터링)
- Jaeger (분산 추적)
- Nginx (리버스 프록시)
## 개발 일정
### 2025 Q1
- Phase 2 완료 (이벤트 시스템)
- Phase 3 시작 (고급 기능)
### 2025 Q2
- Phase 3 완료
- Phase 4 시작 (프로덕션 준비)
### 2025 Q3
- Phase 4 완료
- 프로덕션 배포
## 성공 지표
1. **기술적 지표**
- 서비스 응답 시간 < 200ms
- 시스템 가용성 > 99.9%
- 초당 처리 가능 요청 > 1000
2. **개발 지표**
- 테스트 커버리지 > 80%
- 빌드 시간 < 5분
- 배포 시간 < 10분
3. **확장성 지표**
- 수평 확장 가능
- 서비스 독립 배포
- 무중단 업데이트
## 리스크 및 대응 방안
1. **복잡도 증가**
- 대응: 점진적 구현, 문서화 강화
2. **성능 병목**
- 대응: 프로파일링, 캐싱 전략
3. **데이터 일관성**
- 대응: 이벤트 소싱, SAGA 패턴
4. **보안 취약점**
- 대응: 정기 보안 감사, 자동화된 스캔