mirror of
https://github.com/hwanny1128/HGZero.git
synced 2025-12-07 03:46:23 +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>
70 lines
2.3 KiB
Plaintext
70 lines
2.3 KiB
Plaintext
@startuml 대시보드조회
|
|
!theme mono
|
|
|
|
title 대시보드조회 외부 시퀀스
|
|
|
|
actor "사용자" as User
|
|
participant "Web App" as Frontend
|
|
participant "API Gateway" as Gateway
|
|
participant "User Service" as UserService
|
|
database "Redis Cache" as Cache
|
|
database "User DB" as UserDB
|
|
|
|
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 -> Frontend: 대시보드 접근
|
|
activate Frontend
|
|
|
|
Frontend -> Gateway: GET /api/dashboard?\npage=1&size=10&sort=createdAt,desc
|
|
note right
|
|
페이지네이션 파라미터:
|
|
- page: 페이지 번호 (기본값: 1)
|
|
- size: 페이지 크기 (기본값: 10)
|
|
- sort: 정렬 기준 (기본값: createdAt,desc)
|
|
end note
|
|
activate Gateway
|
|
|
|
Gateway -> UserService: GET /dashboard?\npage=1&size=10&sort=createdAt,desc
|
|
activate UserService
|
|
|
|
' 캐시 조회
|
|
UserService -> Cache: GET dashboard:{userId}
|
|
activate Cache
|
|
Cache --> UserService: 캐시 조회 결과
|
|
deactivate Cache
|
|
|
|
alt Cache Hit
|
|
UserService -> UserService: 캐시 데이터 반환
|
|
else Cache Miss
|
|
UserService -> UserDB: 대시보드 데이터 조회\n- 예정된 회의 목록\n- 진행 중 Todo 목록\n- 최근 회의록 목록\n- 공유받은 회의록 목록\n- 통계 정보
|
|
activate UserDB
|
|
UserDB --> UserService: 조회 결과
|
|
deactivate UserDB
|
|
|
|
UserService -> Cache: SET dashboard:{userId}\n(TTL: 5분)
|
|
activate Cache
|
|
Cache --> UserService: 캐시 저장 완료
|
|
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}
|
|
deactivate UserService
|
|
|
|
Gateway --> Frontend: 200 OK\n대시보드 데이터 + 페이지네이션 정보
|
|
deactivate Gateway
|
|
|
|
Frontend -> Frontend: 대시보드 화면 렌더링\n- 예정된 회의 표시\n- Todo 목록 표시\n- 최근/공유 회의록 표시\n- 통계 차트 표시
|
|
|
|
Frontend --> User: 대시보드 화면 표시
|
|
deactivate Frontend
|
|
|
|
@enduml
|