mirror of
https://github.com/hwanny1128/HGZero.git
synced 2025-12-06 09:06:24 +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>
53 lines
1.9 KiB
Plaintext
53 lines
1.9 KiB
Plaintext
@startuml Todo완료및회의록반영
|
|
!theme mono
|
|
|
|
title Todo 완료 및 회의록 반영 플로우
|
|
|
|
actor "담당자" as User
|
|
participant "Web App" as Web
|
|
participant "API Gateway" as Gateway
|
|
participant "Meeting Service" as Meeting
|
|
participant "Redis Cache" as Redis
|
|
participant "Notification Service" as Notification
|
|
|
|
autonumber
|
|
|
|
== Todo 완료 처리 ==
|
|
User -> Web: Todo 완료 버튼 클릭
|
|
activate Web
|
|
Web -> Gateway: PUT /api/todos/{todoId}/complete\n(userId, userName, completedAt)
|
|
activate Gateway
|
|
Gateway -> Meeting: PUT /todos/{todoId}/complete\n(userId, userName, completedAt)
|
|
activate Meeting
|
|
|
|
Meeting -> Meeting: Todo 상태 업데이트\n- 완료 시간 기록\n- 완료자 정보 저장\n- 상태: COMPLETED
|
|
Meeting -> Meeting: 관련 회의록에 완료 상태 반영\n- 회의록 섹션 업데이트\n- 완료 표시 (체크 아이콘)\n- 완료 시간 및 완료자 기록
|
|
Meeting -> Meeting: DB에 저장
|
|
|
|
== 캐시 무효화 ==
|
|
Meeting -.-> Redis: DELETE meeting:info:{meetingId}
|
|
note right: 회의 정보 캐시 무효화
|
|
Meeting -.-> Redis: DELETE todo:user:{userId}
|
|
note right: Todo 목록 캐시 무효화
|
|
|
|
== 이벤트 발행 ==
|
|
Meeting ->> Notification: TodoCompleted 이벤트 발행\n(todoId, meetingId, completedBy,\ncompletedAt, meetingCreatorId)
|
|
note right: Azure Event Hubs를 통한\n비동기 이벤트 발행
|
|
|
|
Meeting --> Gateway: 200 OK\n{todoId, status: COMPLETED,\ncompletedAt, completedBy}
|
|
deactivate Meeting
|
|
Gateway --> Web: 200 OK\n(Todo 완료 정보)
|
|
deactivate Gateway
|
|
Web --> User: Todo 완료 표시
|
|
deactivate Web
|
|
|
|
== 알림 발송 ==
|
|
activate Notification
|
|
Notification -> Notification: TodoCompleted 이벤트 구독
|
|
Notification -> Notification: 알림 메시지 생성\n- 수신자: 회의록 작성자\n- 내용: "Todo 완료됨"
|
|
Notification -.-> Notification: 이메일 발송\n(회의록 작성자에게)
|
|
note right: 외부 Email Service 연동
|
|
deactivate Notification
|
|
|
|
@enduml
|