134 Commits

Author SHA1 Message Date
sunmingLee
63ba449f93 Merge origin/develop into feature/distribution
- develop 브랜치의 최신 변경사항 병합
- .gradle 캐시 파일 충돌 해결 (삭제)
- ParticipationServiceApplication.run.xml 충돌 해결 (develop 버전 선택)
- make-run-profile.md 충돌 해결 (develop 버전 선택)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 10:09:47 +09:00
Hyowon Yang
9b247ca058
Merge branch 'develop' into feature/analytics 2025-10-27 15:10:31 +09:00
doyeon
fdeba361b4 커ë°gitignore적용 2025-10-27 13:40:18 +09:00
hyeda2020
446e4c613d
Merge pull request #4 from ktds-dg0501/feature/user
Feature/user
2025-10-27 13:15:57 +09:00
cherry2250
f7159465ac Content Service API 경로 표준화
- 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>
2025-10-27 11:16:54 +09:00
Hyowon Yang
7fa1f8cc89 .gitignore에 Gradle 추가 및 빌드 파일 제거 2025-10-27 10:21:43 +09:00
wonho
34df9c3b8f user-service api 초안 개발 2025-10-24 15:19:04 +09:00
sunmingLee
b0d8a6d10e distribution-service API 명세서를 실제 구현에 맞게 수정
- ChannelType 열거형 값 수정 (URIDONGNETV, RINGOBIZ, GINITV 등)
- DistributionRequest 스키마 변경 (title, description, imageUrl 추가)
- DistributionResponse 스키마 변경 (success, successCount, failureCount 등)
- ChannelDistributionResult 스키마 단순화
- 모든 예제 코드 실제 구현에 맞게 업데이트
- IntelliJ 서비스 실행 프로파일 추가
- Distribution 서비스 엔티티, 매퍼, 리포지토리 추가

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-24 13:45:45 +09:00
Hyowon Yang
25b1ec8b81 링고비즈api추가 2025-10-23 17:58:54 +09:00
wonho
8029d8f9ce 매장정보 조회 API에서 사업자등록번호 제거
- StoreDetailResponse 스키마에서 businessNumber 필드 제거
- 매장정보 조회 응답 예시에서 businessNumber 제거
- User Service의 모든 API에서 사업자등록번호 사용 중단

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-23 17:27:28 +09:00
Hyowon Yang
90645a6a42 Merge branch 'main' of https://github.com/ktds-dg0501/kt-event-marketing 2025-10-23 17:19:33 +09:00
Hyowon Yang
546593b9a1 analytics 링고비즈추가 2025-10-23 17:19:02 +09:00
wonho
74d03fd4bf User Service API에서 사업자등록번호 파라미터 제거
- 회원가입 API에서 businessNumber 필드 제거
- API 설명에서 사업자번호 검증 관련 내용 제거
- RegisterRequest 스키마에서 businessNumber required 및 property 제거
- 회원가입 예시에서 businessNumber 제거
- 사업자번호 검증 실패 에러 케이스 제거
- USER_002 에러 코드 제거

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-23 17:18:44 +09:00
cherry2250
29baa2dee9 edit folder 2025-10-23 17:17:09 +09:00
cherry2250
6b1c4224f7 7개 마이크로서비스 API 명세서 컨벤션 통일
- 공통 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>
2025-10-23 17:12:28 +09:00
cherry2250
b9745f24e5 7개 마이크로서비스 API 설계 완료
- 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>
2025-10-23 16:56:54 +09:00
cherry2250
b571f52abd 파일명 변경: event-이미지* → content-이미지*
변경 이유:
- 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>
2025-10-23 16:37:54 +09:00
cherry2250
3fdde64dd6 Merge branch 'main' of https://github.com/ktds-dg0501/kt-event-marketing 2025-10-23 16:33:24 +09:00
cherry2250
e15b7b42e5 이미지 생성 및 AI 추천 inner sequence 수정
주요 변경사항:
- 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>
2025-10-23 16:31:36 +09:00
cherry2250
d7d4b0a2da inner sequence 동기화 완료 - Gateway 패턴 및 한글화
- event-추천결과조회.puml: Gateway 패턴 추가, 레이어 아키텍처 적용, 한글화
- event-추천안선택.puml: Gateway 패턴 추가, 5단계 구조화, 한글화
- event-콘텐츠선택.puml: ContentService로 변경, Gateway 패턴, 한글화
- event-최종승인및배포.puml: Gateway 패턴 추가, 7단계 구조화, 한글화

모든 파일 공통 변경사항:
- Client actor 및 API Gateway 추가
- <<API Layer>>, <<Business Layer>>, <<Data Layer>> 레이어 구분
- 모든 요청/응답 한글 표시
- Repository CRUD 한글 설명 (SQL 제거)
- Redis 캐시 키 패턴 표준화

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-23 16:31:16 +09:00
박세원
56f05ba25b CDN에서 Azure Blob Storage로 이미지 저장소 변경
- 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>
2025-10-23 16:30:47 +09:00
Hyowon Yang
447d6b8e5d analytics-링고비즈추가
대시보드 조회 내부 시퀀스에 링고비즈 API 호출 추가
- 병렬 API 호출에 링고비즈 추가 (CompletableFuture 4개로 확장)
- Circuit Breaker 및 Fallback 전략 적용
- 데이터 통합 섹션에 링고비즈 통화 완료 수 포함
2025-10-23 16:06:01 +09:00
sunmingLee
146063b22b edit distribution-다중채널배포.puml 2025-10-23 15:43:55 +09:00
cherry2250
edb7045008 outer 및 inner sequence 동기화 및 한글화
변경 사항:
- 이벤트생성플로우 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>
2025-10-23 15:36:45 +09:00
cherry2250
eea1fff98c Outer sequence 다이어그램 수정
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>
2025-10-23 15:10:37 +09:00
cherry2250
16f82d3553 이벤트생성플로우 outer sequence 수정
- 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>
2025-10-23 14:36:30 +09:00
cherry2250
fb55fd85a0 논리 아키텍처 수정
주요 변경사항:
- 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>
2025-10-23 14:23:07 +09:00
Hyowon Yang
36e7e60ae3 추천안선택생성
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-23 13:50:58 +09:00
Hyowon Yang
ae6e593a7a outer inner 검증
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-23 13:42:56 +09:00
Hyowon Yang
9e9c129c3c redis outer수정
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-23 13:28:28 +09:00
Hyowon Yang
9ee2178b57 redis 추가
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-23 13:17:57 +09:00
sunmingLee
fa4c09e865 edit db name 2025-10-23 11:25:22 +09:00
sunmingLee
0db22b0d7a 트랜드분석 ì¹ 후 카프카 발행 삭제 2025-10-23 10:34:00 +09:00
doyeon
ff0cad6c57 이미지 결과 조회 시퀀스 수정: Redis 캐시 제거하고 Event DB 직접 조회로 변경 2025-10-23 10:25:58 +09:00
sunmingLee
ae23b27f58 edit user grammar error 2025-10-23 10:19:31 +09:00
doyeon
e321eacde4 시퀀스 다이어그램 수정: 이미지 생성 후 DB 저장 프로세스 추가
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>
2025-10-23 10:01:48 +09:00
cherry2250
9192e1e453 edit all sequence 2025-10-22 20:13:56 +09:00
cherry2250
a8c6397edf edit outer sequence 2025-10-22 17:32:28 +09:00
sunmingLee
7a1fcc96de delete 배포상태조회.puml 2025-10-22 17:19:46 +09:00
doyeon
a2d9d8f969 전화번호 형식 변경: 하이픈 제거하고 숫자만 저장
- 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>
2025-10-22 16:50:33 +09:00
cherry2250
cef51c9848 논리 아키텍처 Job Topic 명칭 변경
- 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>
2025-10-22 16:47:27 +09:00
cherry2250
65a9f8161b all apis 2025-10-22 16:37:32 +09:00
cherry2250
fb63850f9d add sequence 2025-10-22 16:27:55 +09:00
sunmingLee
65e537761c Distribution 서비스 시퀀스 다이어그램 개선
- 어댑터 패턴 적용: 단일 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>
2025-10-22 15:56:52 +09:00
sunmingLee
cc2432a86b edit distribution sequence 2025-10-22 15:54:34 +09:00
doyeon
0daf043504 ãdelete…WinnerSelected 2025-10-22 15:39:49 +09:00
cherry2250
a275531eef content-이미지생성 시퀀스 폴링 방식으로 변경
- ContentCreated 이벤트 발행 제거 (Consumer 없음)
- 폴링 방식으로 결과 조회하도록 명시
- 불필요한 Kafka Producer 참여자 제거

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-22 15:12:24 +09:00
doyeon
915446c821 참여자 플로우차트 수정 2025-10-22 15:02:54 +09:00
Hyowon Yang
841d6ef1b7 analytics-대시보드 캐시히트,미스 통합 2025-10-22 14:57:07 +09:00
merrycoral
b96613c067 외부/내부 시퀀스 설계 일관성 개선
- 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>
2025-10-22 14:56:03 +09:00