- Analytics 서비스 구현 추가 (API, 소스 코드)
- Event 서비스 소스 코드 추가
- 보안 관련 공통 컴포넌트 업데이트 (JWT, UserPrincipal, ErrorCode)
- API 컨벤션 및 명세서 업데이트
- 데이터베이스 SQL 스크립트 추가
- 백엔드 개발 문서 및 테스트 가이드 추가
- Kafka 메시지 체크 도구 추가
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- API 경로를 /content에서 /api/v1/content로 변경
- REST API 버저닝 패턴 적용 (/api/v1/서비스명)
- ContentController.java의 @RequestMapping 수정
- OpenAPI 명세서 경로 업데이트 (7개 엔드포인트)
- Javadoc 주석의 API 경로 정보 업데이트
영향 범위: content-service만 수정, common 모듈 변경 없음
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 공통 OpenAPI 3.0.3 컨벤션 문서 작성 (design/backend/api/API_CONVENTION.md)
- 7개 서비스 API 명세서 표준화 완료:
* User Service (8081)
* Event Service (8080)
* Content Service (8082)
* AI Service (8083)
* Participation Service (8084)
* Distribution Service (8085)
* Analytics Service (8086)
주요 변경사항:
- API 경로에서 /api prefix 제거 (/api/users → /users)
- 서버 URL 패턴 통일 (Local → Dev → Prod)
- 연락처 정보 표준화 (Digital Garage Team)
- ErrorResponse 스키마 통일 (error → message, details 추가)
- securitySchemes 이름 통일 (BearerAuth)
- 포트 번호 명확히 할당
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- User Service API (7 APIs, 31KB)
- Event Service API (14 APIs, 41KB)
- AI Service API (3 APIs, 26KB)
- Content Service API (6 APIs, 37KB)
- Distribution Service API (2 APIs, 21KB)
- Participation Service API (5 APIs, 25KB)
- Analytics Service API (4 APIs, 28KB)
총 41개 API 엔드포인트, 6,912줄, OpenAPI 3.0 표준 준수
유저스토리 기반 설계, JWT 인증, Kafka/Redis 통합 문서화
API 설계서 작성 완료 (종합 가이드 포함)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
변경 이유:
- outer sequence 기준으로 이미지 생성은 Content Service 담당
- 파일명을 서비스 소유권에 맞게 변경
변경 파일:
- event-이미지생성요청.puml → content-이미지생성요청.puml
- event-이미지결과조회.puml → content-이미지결과조회.puml
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
주요 변경사항:
- event-이미지생성요청.puml: Kafka 제거, ContentService 내부 Job 관리로 변경
- event-이미지결과조회.puml: ContentService 패턴으로 업데이트
- event-AI추천요청.puml: Gateway 패턴 추가, 한글화
아키텍처 구분:
- AI 추천: Kafka 사용 (ai-job-topic)
- 이미지 생성: 내부 Job 관리 (Kafka 사용 안 함)
모든 파일:
- Gateway 패턴 적용
- 레이어 아키텍처 (<<API Layer>>, <<Business Layer>>)
- 한글 요청/응답
- Redis 키 패턴 표준화
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- CDNUploader를 BlobStorageUploader로 교체
- SAS Token 기반 접근 제어 추가 (유효기간 7일)
- Blob Storage Retry 로직 추가 (최대 3회, Exponential Backoff)
- 보안 강화: Public Access 비활성화, 읽기 전용 SAS Token
- Redis 캐싱에 Blob SAS URL 저장 (TTL 7일)
- 성능 영향 최소화 (+0.05-0.1초, 전체의 1-2%)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
변경 사항:
- 이벤트생성플로우 outer: FE → Gateway → User Service 호출 패턴 추가
- user-로그인 inner: 전화번호 → 이메일 기반 인증으로 변경
- user-회원가입 inner: 국세청 API 제거, 이메일 중복검사 추가
- event-목적선택 inner: Gateway 경유, 요청/응답 한글화
- ai-트렌드분석및추천 inner: 과거 이벤트 데이터 제거, Timeout 5분으로 변경
- analytics-대시보드조회 inner: Redis TTL 5분 → 1시간으로 변경
모든 파일에 Repository CRUD 작업 한글 설명 적용 (SQL 제거)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
1. 고객참여플로우
- 재추첨 버튼 UI 요소 제거
2. 사용자인증플로우
- 로그인 input 전화번호 → 이메일/비밀번호로 변경
- 회원가입 시 이메일 중복검사 로직 추가
- 전화번호 중복검사도 유지 (이메일 검사 후 수행)
3. 성과분석플로우
- Redis Cache TTL 5분 → 1시간으로 변경
- 배치 수집 주기 10분 → 5분으로 변경
4. 이벤트생성플로우
- 회원/매장정보 조회를 FE에서 직접 수행 후 전달
- 이벤트 초안 데이터 Redis 저장 (draft:event 키)
- 최종 승인 시에만 Event DB에 영구 저장
- AI Service 과거 이벤트 데이터 조회 로직 삭제
- 이미지 생성 요청 FE → Content Service 다이렉트 호출
- Job 상태 확인도 Content Service로 직접 조회
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- User Service 회원정보 조회 로직 추가
- AI Service Redis 저장 및 5분 타임아웃 적용
- Content Service Redis 읽기/쓰기 방식으로 변경
- 이미지 생성 5분 타임아웃 적용
- Redis → Event DB 영구 저장 로직 추가
- Kafka 이미지 생성 topic 구독 제거
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
주요 변경사항:
- User Service 사업자번호 검증 로직 삭제 (국세청 API 제거)
- User Service → Event Service 회원정보 제공 API 추가
- Redis 기반 서비스 간 데이터 공유 구조로 변경
- AI Service → Redis 저장 → Content Service 읽기
- Participation Service 참여자 목록 조회 기능 추가
- WinnerSelected 이벤트 토픽 제거 (3개 토픽으로 축소)
- Redis → Event DB 저장 로직 추가 (이벤트 publish 시)
- AI/Content Service Timeout 5분으로 변경 (30초/20초 → 300초)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
1. 다중채널배포 outer sequence 수정
- inner sequence 참조 명시 (distribution-다중채널배포.puml)
- Sprint 2 Mock 처리 반영
- API 엔드포인트 일관성 유지
2. 이미지 생성 프로세스 개선
- Content Service: 이미지 생성 후 Kafka 이벤트 발행 추가
- Event Service: 새로운 Kafka Consumer 추가 (event-콘텐츠생성완료구독.puml)
- Event DB에 이미지 URL 영구 저장
- Redis 캐시와 DB 간 데이터 정합성 보장
3. 아키텍처 개선
- 서비스 독립성 향상 (Kafka 기반 이벤트 통신)
- 느슨한 결합 구조
- 데이터 흐름 명확화
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- ParticipationRegisterRequest 스키마 수정
- 패턴: ^\d{3}-\d{4}-\d{4}$ → ^\d{10,11}$
- 설명 및 예시 업데이트
- 요청 예시 전화번호 형식 변경
- 검색 파라미터 설명 및 예시 업데이트
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- ai-job → ai 이벤트 생성
- image-job → 이미지 생성
- logical-architecture.md 및 .mmd 파일 업데이트
- 테스트용 스크립트 및 파일 정리
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 어댑터 패턴 적용: 단일 Channel Adapter로 모든 채널 API 호출 처리
- Sprint 2 버전 추가: 외부 API 호출 없이 배포 로그만 기록하는 간소화 버전
- 복잡한 Circuit Breaker, Retry 로직 제거 (Sprint 2)
- Mock 데이터로 즉시 성공 응답 반환
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- ContentCreated 이벤트 발행 제거 (Consumer 없음)
- 폴링 방식으로 결과 조회하도록 명시
- 불필요한 Kafka Producer 참여자 제거
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- API 엔드포인트 통일
- AI 추천: POST /api/events/{id}/ai-recommendations
- 이미지 생성: POST /api/events/{id}/content-generation
- 최종 승인: POST /api/events/{id}/publish
- Kafka 이벤트명 구분
- EventDraftCreated: 목적 선택 시 발행
- EventCreated: 최종 승인 시 발행
- 수정 파일
- design/backend/sequence/outer/이벤트생성플로우.puml
- design/backend/sequence/inner/event-목적선택.puml
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 회원가입: 사업자번호 암호화 위치 명시, 성능 지표 추가, 에러 코드 표준화 (USER_001, USER_002)
- 로그인: 비동기 처리 설명 추가, Rate Limiting 보안 강화, 성능 목표 추가, 에러 코드 표준화 (AUTH_001)
- 프로필수정: 트랜잭션 범위 명확화, Optimistic Locking 추가, 동시성 제어, 에러 코드 표준화 (USER_003~005)
- 로그아웃: API Gateway 연계 시나리오, 로그아웃 이벤트 발행, 성능 목표 추가, 에러 코드 표준화 (AUTH_002)
- .gitignore 추가: .npm-global 및 기타 임시 파일 제외
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 4개 주요 비즈니스 플로우 외부 시퀀스 다이어그램 작성
* 사용자인증플로우: 회원가입, 로그인, 로그아웃
* 이벤트생성플로우: AI 추천, 이미지 생성, 다중 채널 배포
* 고객참여플로우: 이벤트 참여, 당첨자 추첨
* 성과분석플로우: 실시간 대시보드 조회
- Event-Driven 아키텍처 반영 (Kafka Event Topics + Job Topics)
- Resilience 패턴 전면 적용 (Circuit Breaker, Retry, Timeout, Fallback)
- Cache-Aside 패턴 적용 (Redis 캐싱)
- 논리 아키텍처 및 유저스토리 기반 설계
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>