mirror of
https://github.com/hwanny1128/HGZero.git
synced 2025-12-06 07:56:24 +00:00
주요 변경사항:
[Critical]
- API 엔드포인트 통일: POST /api/minutes/{minutesId}/finalize
- 이벤트 이름 표준화: MinutesFinalized
[Warning]
- API Gateway 라우팅 규칙 문서화 (외부 시퀀스 7개 파일)
- 대시보드 API 경로 통일: GET /api/dashboard
- AI 제안 병합 프로세스 상세 문서화
- 회의록 확정 검증 로직 5단계 상세화
[Minor]
- Redis 캐시 TTL 명시 (7개 파일, TTL 정책 표준화)
- 대시보드 페이지네이션 파라미터 추가
- 에러 응답 포맷 표준화 (14개 에러 응답)
총 31개 파일 수정, 34건의 개선 사항 적용
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
72 lines
2.2 KiB
Plaintext
72 lines
2.2 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
|
|
|
|
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
|
|
|
|
autonumber
|
|
|
|
== Todo 완료 처리 ==
|
|
User -> Web: Todo 완료 버튼 클릭
|
|
activate Web
|
|
Web -> Gateway: PATCH /api/todos/{todoId}/complete\n(userId, userName, completedAt)
|
|
activate Gateway
|
|
Gateway -> Meeting: PATCH /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 dashboard:{assigneeId}
|
|
note right
|
|
대시보드 캐시 무효화
|
|
end note
|
|
Meeting --> Redis: DELETE minutes:detail:{minutesId}
|
|
note right
|
|
회의록 상세 캐시 무효화
|
|
end note
|
|
|
|
== 이벤트 발행 ==
|
|
Meeting -> Notification: TodoCompleted 이벤트 발행\n(todoId, meetingId, completedBy,\ncompletedAt, meetingCreatorId)
|
|
note right
|
|
Azure Event Hubs를 통한
|
|
비동기 이벤트 발행
|
|
end note
|
|
|
|
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 연동
|
|
end note
|
|
deactivate Notification
|
|
|
|
@enduml
|