외부/내부 시퀀스 설계 일관성 개선 및 표준화

주요 변경사항:

[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>
This commit is contained in:
ondal
2025-10-23 09:48:06 +09:00
parent f86973c93b
commit 715add4dbc
43 changed files with 505 additions and 156 deletions
@@ -34,7 +34,7 @@ else Cache Miss
' 예정된 회의 조회
Service -> MeetingRepo: findUpcomingMeetings(userId)
activate MeetingRepo
MeetingRepo -> DB: SELECT meetings\nWHERE userId = ? AND status = 'SCHEDULED'\nAND startTime > NOW()\nORDER BY startTime LIMIT 3
MeetingRepo -> DB: 예정된 회의 조회
activate DB
DB --> MeetingRepo: 예정된 회의 목록
deactivate DB
@@ -44,7 +44,7 @@ else Cache Miss
' 진행 중 Todo 조회
Service -> TodoRepo: findActiveTodos(userId)
activate TodoRepo
TodoRepo -> DB: SELECT todos\nWHERE assignee = ? AND status = 'IN_PROGRESS'\nORDER BY dueDate LIMIT 3
TodoRepo -> DB: 진행 중 Todo 조회
activate DB
DB --> TodoRepo: 진행 중 Todo 목록
deactivate DB
@@ -54,7 +54,7 @@ else Cache Miss
' 최근 회의록 조회
Service -> MinutesRepo: findRecentMinutes(userId)
activate MinutesRepo
MinutesRepo -> DB: SELECT minutes\nWHERE creatorId = ?\nORDER BY createdAt DESC LIMIT 3
MinutesRepo -> DB: 최근 회의록 조회
activate DB
DB --> MinutesRepo: 최근 회의록 목록
deactivate DB
@@ -64,7 +64,7 @@ else Cache Miss
' 공유받은 회의록 조회
Service -> MinutesRepo: findSharedMinutes(userId)
activate MinutesRepo
MinutesRepo -> DB: SELECT minutes m JOIN shared_minutes sm\nON m.id = sm.minutesId\nWHERE sm.sharedWith = ?\nORDER BY sm.sharedAt DESC LIMIT 3
MinutesRepo -> DB: 공유받은 회의록 조회
activate DB
DB --> MinutesRepo: 공유받은 회의록 목록
deactivate DB
@@ -74,7 +74,7 @@ else Cache Miss
' 통계 정보 조회
Service -> MeetingRepo: countUpcomingMeetings(userId)
activate MeetingRepo
MeetingRepo -> DB: SELECT COUNT(*)\nFROM meetings\nWHERE userId = ? AND status = 'SCHEDULED'
MeetingRepo -> DB: 예정된 회의 개수 조회
activate DB
DB --> MeetingRepo: 예정된 회의 개수
deactivate DB
@@ -83,7 +83,7 @@ else Cache Miss
Service -> TodoRepo: countActiveTodos(userId)
activate TodoRepo
TodoRepo -> DB: SELECT COUNT(*)\nFROM todos\nWHERE assignee = ? AND status = 'IN_PROGRESS'
TodoRepo -> DB: 진행 중 Todo 개수 조회
activate DB
DB --> TodoRepo: 진행 중 Todo 개수
deactivate DB
@@ -92,7 +92,7 @@ else Cache Miss
Service -> TodoRepo: calculateTodoCompletionRate(userId)
activate TodoRepo
TodoRepo -> DB: SELECT\n (COUNT(CASE WHEN status='COMPLETED' THEN 1 END) * 100.0 /\n COUNT(*)) as rate\nFROM todos WHERE assignee = ?
TodoRepo -> DB: Todo 완료율 조회
activate DB
DB --> TodoRepo: Todo 완료율
deactivate DB