mirror of
https://github.com/hwanny1128/HGZero.git
synced 2026-06-13 16:29:11 +00:00
외부 시퀀스 설계 완료
- 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:
@@ -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
|
||||
Reference in New Issue
Block a user