외부 시퀀스 설계 완료

- 7개 주요 비즈니스 플로우 설계 완료
  1. 회의예약및참석자초대 (2.5KB)
  2. 회의시작및실시간회의록작성 (4.9KB)
  3. 회의종료및최종확정 (4.6KB)
  4. 회의록공유 (2.1KB)
  5. Todo완료및회의록반영 (1.9KB)
  6. 대시보드조회 (1.6KB)
  7. 회의록상세조회및수정 (4.4KB)

- 설계 특징
  - 병렬 처리 전략: 서브 에이전트 활용 동시 작성
  - 5개 서비스 통합 아키텍처 (User, Meeting, STT, AI, Notification)
  - Azure Event Hubs를 통한 Pub/Sub 이벤트 기반 통신
  - Redis Cache-Aside 패턴을 통한 성능 최적화
  - AI 병렬 처리 (회의록 정리 + 전문용어 설명 + 관련 자료 검색)
  - WebSocket 실시간 동기화 (델타 전송)

- 작성원칙 준수
  - 유저스토리와 1:1 매칭
  - 논리 아키텍처에 정의된 참여자 표시
  - UI/UX 사용자 플로우 참조
  - 동기/비동기 통신 명확히 구분 (실선/점선)
  - 한글 설명 추가
  - PlantUML 표준 (!theme mono, 올바른 화살표 문법)

- PlantUML 문법 검증 완료 (수동)
  - @startuml, !theme mono 사용
  - 금지된 ..> 화살표 미사용
  - 동기 (→), 비동기 (->>), 캐시 (-.->) 구분

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
kimjh
2025-10-22 14:58:20 +09:00
parent 1b5efd76d8
commit a43b0c63cb
7 changed files with 664 additions and 0 deletions
@@ -0,0 +1,63 @@
@startuml
!theme mono
title 회의록공유 플로우 (UFR-MEET-060)
actor "회의록 작성자" as User
participant "Web App" as Web
participant "API Gateway" as Gateway
participant "Meeting Service" as Meeting
participant "Redis Cache" as Redis
participant "Azure Event Hubs" as EventHub
participant "Notification Service" as Notification
== 회의록 공유 설정 ==
User -> Web: 공유 버튼 클릭
activate Web
Web -> Web: 공유 대상 및 권한 설정 입력\n(읽기 전용/댓글 가능/편집 가능)
Web -> Gateway: POST /api/meetings/{meetingId}/share\n(공유 설정 정보)
activate Gateway
Gateway -> Gateway: JWT 토큰 검증
Gateway -> Meeting: 회의록 공유 요청
activate Meeting
== 공유 링크 생성 ==
Meeting -> Meeting: 공유 링크 생성\n(고유 URL, 권한, 유효기간)
Meeting -> Meeting: 공유 정보 DB 저장\n(공유 시간, 대상, 권한)
== Redis 캐시 무효화 ==
Meeting -> Redis: 회의 정보 캐시 무효화\n(meeting:info:{meetingId})
activate Redis
Redis --> Meeting: 캐시 삭제 완료
deactivate Redis
== 이벤트 발행 ==
Meeting -> EventHub: TranscriptShared 이벤트 발행\n(meetingId, 참석자 목록, 공유 URL)
activate EventHub
EventHub --> Meeting: 이벤트 발행 성공
deactivate EventHub
Meeting --> Gateway: 공유 링크 생성 성공\n(공유 URL)
deactivate Meeting
Gateway --> Web: 공유 링크 반환
deactivate Gateway
Web --> User: 공유 링크 표시
deactivate Web
== 알림 발송 ==
EventHub ->> Notification: TranscriptShared 이벤트 구독
activate Notification
Notification -> Notification: 이메일 템플릿 생성\n(회의 제목, 공유 URL, 권한 정보)
Notification -> Notification: 참석자 전원에게\n이메일 발송
Notification --> EventHub: 알림 발송 완료
deactivate Notification
== 다음 회의 일정 자동 등록 (옵션) ==
note over Meeting
다음 회의 일정이 회의록에
언급된 경우에만 수행
end note
Meeting -> Meeting: 회의록 내용 분석\n(다음 회의 일정 추출)
Meeting -> Meeting: 캘린더 자동 등록\n(회의 제목, 날짜, 참석자)
@enduml