mirror of
https://github.com/hwanny1128/HGZero.git
synced 2026-06-13 07:09:09 +00:00
내외부 시퀀스 - 회의록 공유 제거
This commit is contained in:
@@ -44,7 +44,7 @@ deactivate Cache
|
||||
alt Cache Hit
|
||||
UserService -> UserService: 캐시 데이터 반환
|
||||
else Cache Miss
|
||||
UserService -> UserDB: 대시보드 데이터 조회\n- 예정된 회의 목록\n- 진행 중 Todo 목록\n- 최근 회의록 목록\n- 공유받은 회의록 목록\n- 통계 정보
|
||||
UserService -> UserDB: 대시보드 데이터 조회\n- 예정된 회의 목록\n- 진행 중 Todo 목록\n- 최근 회의록 목록\n- 통계 정보
|
||||
activate UserDB
|
||||
UserDB --> UserService: 조회 결과
|
||||
deactivate UserDB
|
||||
@@ -55,13 +55,13 @@ else Cache Miss
|
||||
deactivate Cache
|
||||
end
|
||||
|
||||
UserService --> Gateway: 대시보드 데이터 응답\n{\n "upcomingMeetings": [...],\n "activeTodos": [...],\n "recentMinutes": [...],\n "sharedMinutes": [...],\n "statistics": {...},\n "pagination": {\n "page": 1,\n "size": 10,\n "totalElements": 45,\n "totalPages": 5,\n "hasNext": true\n }\n}
|
||||
UserService --> Gateway: 대시보드 데이터 응답\n{\n "upcomingMeetings": [...],\n "activeTodos": [...],\n "recentMinutes": [...],\n "statistics": {...},\n "pagination": {\n "page": 1,\n "size": 10,\n "totalElements": 45,\n "totalPages": 5,\n "hasNext": true\n }\n}
|
||||
deactivate UserService
|
||||
|
||||
Gateway --> Frontend: 200 OK\n대시보드 데이터 + 페이지네이션 정보
|
||||
deactivate Gateway
|
||||
|
||||
Frontend -> Frontend: 대시보드 화면 렌더링\n- 예정된 회의 표시\n- Todo 목록 표시\n- 최근/공유 회의록 표시\n- 통계 차트 표시
|
||||
Frontend -> Frontend: 대시보드 화면 렌더링\n- 예정된 회의 표시\n- Todo 목록 표시\n- 최근 회의록 표시\n- 통계 차트 표시
|
||||
|
||||
Frontend --> User: 대시보드 화면 표시
|
||||
deactivate Frontend
|
||||
|
||||
@@ -1,80 +0,0 @@
|
||||
@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
|
||||
|
||||
note over Gateway
|
||||
라우팅 규칙:
|
||||
/api/meetings/** → Meeting Service
|
||||
/api/minutes/** → Meeting Service
|
||||
/api/dashboard → User Service
|
||||
/api/notifications/** → Notification Service
|
||||
/api/auth/** → User Service
|
||||
/api/todos/** → Meeting Service
|
||||
end note
|
||||
|
||||
== 회의록 공유 설정 ==
|
||||
User -> Web: 공유 버튼 클릭
|
||||
activate Web
|
||||
Web -> Web: 공유 대상 및 권한 설정 입력\n(읽기 전용/댓글 가능/편집 가능)
|
||||
Web -> Gateway: POST /api/minutes/{minutesId}/share\n(공유 설정 정보)
|
||||
activate Gateway
|
||||
Gateway -> Gateway: JWT 토큰 검증
|
||||
Gateway -> Meeting: 회의록 공유 요청
|
||||
activate Meeting
|
||||
|
||||
== 공유 링크 생성 ==
|
||||
Meeting -> Meeting: 공유 링크 생성\n(고유 URL, 권한, 유효기간)
|
||||
Meeting -> Meeting: 공유 정보 DB 저장\n(공유 시간, 대상, 권한)
|
||||
|
||||
== Redis 캐시 무효화 ==
|
||||
Meeting -> Redis: 회의록 정보 캐시 무효화\n(minutes:info:{minutesId})
|
||||
activate Redis
|
||||
Redis --> Meeting: 캐시 삭제 완료
|
||||
deactivate Redis
|
||||
|
||||
== 이벤트 발행 ==
|
||||
Meeting -> EventHub: NotificationRequest 이벤트 발행\n(회의록 공유 알림)
|
||||
activate EventHub
|
||||
note right
|
||||
이벤트 데이터:
|
||||
- 발송수단: EMAIL
|
||||
- 대상자: 참석자 전원
|
||||
- 메시지: 회의록 공유 안내
|
||||
- 메타데이터: 공유 URL, 권한 정보
|
||||
end note
|
||||
EventHub --> Meeting: 이벤트 발행 성공
|
||||
deactivate EventHub
|
||||
|
||||
Meeting --> Gateway: 공유 링크 생성 성공\n(공유 URL)
|
||||
deactivate Meeting
|
||||
Gateway --> Web: 공유 링크 반환
|
||||
deactivate Gateway
|
||||
Web --> User: 공유 링크 표시
|
||||
deactivate Web
|
||||
|
||||
== 알림 발송 ==
|
||||
EventHub -> Notification: NotificationRequest 이벤트 구독
|
||||
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
|
||||
@@ -91,7 +91,7 @@ alt 필수 항목 미작성
|
||||
Gateway -> WebApp: 검증 실패 응답
|
||||
WebApp -> User: 누락된 항목 안내\n(해당 섹션으로 자동 이동)
|
||||
else 필수 항목 작성 완료
|
||||
Meeting -> Meeting: 회의록 최종 확정\n- 확정 버전 생성\n- 확정 시간 기록\n- 공유 가능 상태로 전환
|
||||
Meeting -> Meeting: 회의록 최종 확정\n- 확정 버전 생성\n- 확정 시간 기록
|
||||
Meeting -> Meeting: DB 저장 (MinutesVersion)
|
||||
Meeting -> Meeting: Redis 캐시 무효화
|
||||
|
||||
|
||||
Reference in New Issue
Block a user