외부/내부 시퀀스 설계 일관성 개선

- 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>
This commit is contained in:
merrycoral 2025-10-22 14:56:03 +09:00
parent 8cb0d7bdbe
commit b96613c067
2 changed files with 7 additions and 7 deletions

View File

@ -36,9 +36,9 @@ activate Cache
Cache --> Service: OK
deactivate Cache
Service -> Kafka: publish(EventCreated,\n{eventDraftId, userId, objective, createdAt})
Service -> Kafka: publish(EventDraftCreated,\n{eventDraftId, userId, objective, createdAt})
activate Kafka
note right: Kafka Event Topic:\nevent-topic
note right: Kafka Event Topic:\nevent-topic\n\nEvent: EventDraftCreated\n(목적 선택 시 발행)\n\n※ EventCreated는\n최종 승인 시 발행
Kafka --> Service: ACK
deactivate Kafka
@ -46,6 +46,6 @@ Service --> Controller: EventDraftResponse\n{eventDraftId, objective, status}
deactivate Service
Controller --> Client: 200 OK\n{eventDraftId}
note over Controller, Kafka: 캐시 히트 시:\n1. Redis에서 조회 → 즉시 반환\n2. DB 조회 생략
note over Controller, Kafka: 캐시 히트 시:\n1. Redis에서 조회 → 즉시 반환\n2. DB 조회 생략\n\n※ EventDraftCreated 이벤트는\nAnalytics Service가 선택적으로 구독\n(통계 초기화는 EventCreated 시)
@enduml

View File

@ -35,7 +35,7 @@ FE --> User: AI 추천 화면으로 이동
== 2. AI 이벤트 추천 - 비동기 처리 (UFR-EVENT-030) ==
User -> FE: AI 추천 요청
FE -> Gateway: POST /events/recommendations\n{eventDraftId, 목적, 업종, 지역}
FE -> Gateway: POST /api/events/{eventDraftId}/ai-recommendations\n{목적, 업종, 지역}
Gateway -> Event: AI 추천 요청 전달
Event -> Kafka: Publish to ai-job-topic\n{jobId, eventDraftId, 목적, 업종, 지역}
Event --> Gateway: Job 생성 완료\n{jobId, status: PENDING}
@ -93,7 +93,7 @@ FE --> User: 콘텐츠 생성 화면으로 이동
== 3. SNS 이미지 생성 - 비동기 처리 (UFR-CONT-010) ==
User -> FE: 이미지 생성 요청
FE -> Gateway: POST /contents/images\n{eventDraftId, 이벤트정보}
FE -> Gateway: POST /api/events/{eventDraftId}/content-generation\n{이벤트정보}
Gateway -> Event: 이미지 생성 요청
Event -> Kafka: Publish to image-job-topic\n{jobId, eventDraftId, 이벤트정보}
Event --> Gateway: Job 생성 완료\n{jobId, status: PENDING}
@ -149,8 +149,8 @@ FE --> User: 배포 채널 선택 화면으로 이동
== 4. 최종 승인 및 다중 채널 배포 - 동기 처리 (UFR-EVENT-050) ==
User -> FE: 배포 채널 선택\n최종 승인 요청
FE -> Gateway: POST /events/{eventDraftId}/approve\n{선택 채널 목록, 승인}
Gateway -> Event: 최종 승인 처리
FE -> Gateway: POST /api/events/{eventDraftId}/publish\n{선택 채널 목록}
Gateway -> Event: 최종 승인 및 배포 처리
Event -> EventDB: 이벤트 상태 변경\nDRAFT → APPROVED
EventDB --> Event: 상태 변경 완료
Event -> Kafka: Publish to event-topic\nEventCreated\n{eventId, 이벤트정보}