hgzero/claudedocs/화면별_API_매핑_분석.md
yabo0812 cf5c0b8c9e docs: 화면별 API 매핑 분석 문서 추가
프로토타입 기반 화면별 기능과 실제 구현된 API를 종합 분석하여 문서화
- 9개 화면별 필요 API 매핑
- 구현된 API 27개 분석
- 누락된 API 26개 식별
- 우선순위 높은 누락 API 6개 선정

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 13:18:57 +09:00

21 KiB

화면별 API 매핑 분석

분석 개요

  • 분석일: 2025-10-28
  • 분석 범위: 프로토타입 기반 9개 화면 기능 및 실제 구현된 Controller API
  • 분석 목적: 화면별 필요 API와 구현 현황 파악, 누락 API 식별

1. 로그인 화면 (01-로그인.html)

화면 기능 필요 API API 엔드포인트 API 기능 설명 구현 상태 비고
사용자 로그인 로그인 API POST /api/auth/login LDAP 인증 수행 후 JWT Access Token과 Refresh Token 발급 구현됨 LoginRequest(userId, password) → LoginResponse(accessToken, refreshToken, userInfo)
로그인 상태 유지 검증 토큰 검증 API GET /api/auth/validate Access Token의 유효성을 검증하고 사용자 정보를 반환 구현됨 Authorization 헤더 필요, TokenValidateResponse 반환
자동 로그인 (토큰 갱신) 토큰 갱신 API POST /api/auth/refresh Refresh Token을 사용하여 새로운 Access Token을 발급 구현됨 RefreshTokenRequest → RefreshTokenResponse

누락 API: 없음


2. 대시보드 화면 (02-대시보드.html)

화면 기능 필요 API API 엔드포인트 API 기능 설명 구현 상태 비고
예정된 회의 목록 조회 대시보드 조회 API GET /api/meetings/dashboard 예정된 회의 목록, 최근 회의록 목록, 통계 정보 조회 구현됨 DashboardResponse(upcomingMeetings, recentMinutes, statistics)
최근 회의록 목록 조회 대시보드 조회 API GET /api/meetings/dashboard 최근 회의록 목록 포함 구현됨 위와 동일한 API에서 제공
회의 통계 정보 표시 대시보드 조회 API GET /api/meetings/dashboard 통계 정보 (총 회의 수, 참석 회의 수 등) 포함 구현됨 위와 동일한 API에서 제공
기간별 필터링 기간별 대시보드 조회 API GET /api/meetings/dashboard/period/{period} 기간별로 필터링된 대시보드 데이터 조회 (1day, 3days, 7days, 30days, 90days) 구현됨 period 파라미터로 기간 지정
회의 예약 버튼 클릭 회의 예약 화면으로 이동 - 화면 전환만 필요, API 불필요 - 프론트엔드 라우팅
회의록 상세 보기 회의록 상세 조회 화면 이동 - 화면 전환만 필요, API 불필요 - 프론트엔드 라우팅

누락 API: 없음


3. 회의 예약 화면 (03-회의예약.html)

화면 기능 필요 API API 엔드포인트 API 기능 설명 구현 상태 비고
회의 예약 생성 회의 예약 API POST /api/meetings 회의 정보 저장, 참석자 목록 관리, 초대 이메일 발송, 리마인더 스케줄링 구현됨 CreateMeetingRequest → MeetingResponse
참석자 이메일 입력/추가 회의 예약 API POST /api/meetings 참석자 목록은 회의 생성 시 포함 구현됨 participants 필드에 포함
회의 시작/종료 시간 설정 회의 예약 API POST /api/meetings startTime, endTime 필드로 전달 구현됨 CreateMeetingRequest에 포함
회의 장소 설정 회의 예약 API POST /api/meetings location 필드로 전달 구현됨 CreateMeetingRequest에 포함
회의 안건 입력 회의 예약 API POST /api/meetings agenda 필드로 전달 구현됨 CreateMeetingRequest에 포함
참석자 자동완성 사용자 검색 API - 구현 안됨 누락 이메일 입력 시 자동완성을 위한 사용자 검색 API 필요

누락 API:

  • GET /api/users/search?query={email} - 참석자 이메일 자동완성을 위한 사용자 검색 API

4. 템플릿 선택 화면 (04-템플릿선택.html)

화면 기능 필요 API API 엔드포인트 API 기능 설명 구현 상태 비고
템플릿 목록 조회 템플릿 목록 조회 API - 구현 안됨 누락 사용 가능한 회의록 템플릿 목록 조회 API 필요
템플릿 선택 및 적용 회의록 템플릿 선택 API PUT /api/meetings/{meetingId}/template 회의에 회의록 템플릿을 적용 (일반 회의, 스크럼, 프로젝트 킥오프, 주간 회의) 구현됨 SelectTemplateRequest(templateId) → MeetingResponse
템플릿 미리보기 템플릿 상세 조회 API - 구현 안됨 누락 선택한 템플릿의 상세 정보 및 미리보기를 위한 API 필요
섹션 커스터마이징 회의록 템플릿 선택 API PUT /api/meetings/{meetingId}/template 섹션 커스터마이징 가능하다고 명시됨 구현됨 구현된 API가 커스터마이징을 지원하는지 확인 필요

누락 API:

  • GET /api/templates - 사용 가능한 템플릿 목록 조회 API
  • GET /api/templates/{templateId} - 특정 템플릿의 상세 정보 조회 API

5. 회의 진행 화면 (05-회의진행.html)

화면 기능 필요 API API 엔드포인트 API 기능 설명 구현 상태 비고
회의 시작 회의 시작 API POST /api/meetings/{meetingId}/start 예약된 회의를 시작하고 회의록 작성 세션을 생성, WebSocket 세션 활성화 구현됨 SessionResponse(sessionId, websocketUrl)
실시간 회의록 작성 WebSocket 실시간 협업 ws://localhost:8080/ws/collaboration 실시간 협업을 위한 WebSocket 세션 구현됨 SessionResponse에 websocketUrl 포함
회의 정보 표시 회의 정보 조회 API GET /api/meetings/{meetingId} 특정 회의의 상세 정보를 조회 구현됨 MeetingResponse 반환
참석자 추가 초대 회의 참석자 초대 API POST /api/meetings/{meetingId}/invite 진행 중이거나 예약된 회의에 새로운 참석자를 초대, 이메일 발송 구현됨 InviteParticipantRequest(email) → InviteParticipantResponse
회의 종료 버튼 회의 종료 화면 이동 - 화면 전환만 필요, API 불필요 - 프론트엔드 라우팅
실시간 편집 동기화 WebSocket 메시지 - 명확한 API 없음 ⚠️ 불명확 WebSocket 프로토콜 및 메시지 형식 정의 필요
참석자 입장/퇴장 알림 WebSocket 이벤트 - 명확한 API 없음 ⚠️ 불명확 WebSocket 이벤트 정의 필요

누락/불명확 API:

  • WebSocket 실시간 협업 프로토콜 정의 (메시지 형식, 이벤트 타입 등)
  • POST /ws/collaboration/connect - WebSocket 연결 인증 및 세션 관리
  • POST /ws/collaboration/message - 실시간 편집 메시지 전송
  • POST /ws/collaboration/cursor - 커서 위치 동기화

6. 회의 종료 화면 (07-회의종료.html)

화면 기능 필요 API API 엔드포인트 API 기능 설명 구현 상태 비고
회의 종료 처리 회의 종료 API POST /api/meetings/{meetingId}/end 진행 중인 회의를 종료하고 AI 분석을 통해 회의록 생성, 주요 키워드 추출, 안건별 요약, Todo 자동 추출 구현됨 MeetingEndResponse(keywords, summaries, todos, statistics)
회의 통계 표시 회의 종료 API POST /api/meetings/{meetingId}/end 참석자 수, 회의 시간, 안건 수, Todo 수 통계 구현됨 MeetingEndResponse에 statistics 포함
AI 생성 키워드 표시 회의 종료 API POST /api/meetings/{meetingId}/end AI 기반 주요 키워드 추출 결과 구현됨 MeetingEndResponse에 keywords 포함
AI 생성 안건 요약 표시 회의 종료 API POST /api/meetings/{meetingId}/end AI 기반 안건별 요약 결과 구현됨 MeetingEndResponse에 summaries 포함
AI 추출 Todo 표시 회의 종료 API POST /api/meetings/{meetingId}/end AI 기반 Todo 자동 추출 결과 구현됨 MeetingEndResponse에 todos 포함
회의록 즉시 확정 회의록 확정 API POST /api/minutes/{minutesId}/finalize 회의록을 확정하여 더 이상 수정 불가 상태로 변경 구현됨 MinutesController에 구현됨
대시보드로 돌아가기 대시보드 화면 이동 - 화면 전환만 필요, API 불필요 - 프론트엔드 라우팅
회의록 수정하기 회의록 수정 화면 이동 - 화면 전환만 필요, API 불필요 - 프론트엔드 라우팅

누락 API: 없음


7. 회의록 상세 조회 화면 (10-회의록상세조회.html)

화면 기능 필요 API API 엔드포인트 API 기능 설명 구현 상태 비고
회의록 상세 정보 조회 (대시보드 탭) 회의록 상세 조회 API GET /api/minutes/{minutesId}?tab=dashboard 회의록 상세 정보 조회 (대시보드 탭: 요약, 키워드, 의사결정, Todo 진행률 등) 구현됨 tab 파라미터로 대시보드/안건 탭 구분
회의록 상세 정보 조회 (안건 탭) 회의록 상세 조회 API GET /api/minutes/{minutesId}?tab=agendas 회의록 상세 정보 조회 (안건 탭: 안건별 상세 내용) 구현됨 tab 파라미터로 대시보드/안건 탭 구분
관련 회의록 목록 표시 회의록 상세 조회 API GET /api/minutes/{minutesId} 관련 회의록 목록과 연관도 점수 포함 구현됨 MinutesDetailResponse에 relatedMinutes 포함
회의 정보 표시 회의록 상세 조회 API GET /api/minutes/{minutesId} 회의 제목, 날짜, 참석자, 장소 등 기본 정보 구현됨 MinutesDetailResponse에 meeting 정보 포함
통계 정보 표시 회의록 상세 조회 API GET /api/minutes/{minutesId} 참석자 수, 회의 시간, 안건 수, Todo 진행률 구현됨 MinutesDetailResponse에 statistics 포함
주요 포인트 표시 회의록 상세 조회 API GET /api/minutes/{minutesId} AI 생성 주요 포인트 목록 구현됨 MinutesDetailResponse에 keyPoints 포함
키워드 표시 회의록 상세 조회 API GET /api/minutes/{minutesId} AI 추출 키워드 목록 구현됨 MinutesDetailResponse에 keywords 포함
의사결정 사항 표시 회의록 상세 조회 API GET /api/minutes/{minutesId} 주요 의사결정 사항 목록 구현됨 MinutesDetailResponse에 decisions 포함
Todo 진행률 표시 회의록 상세 조회 API GET /api/minutes/{minutesId} Todo 항목과 완료율 구현됨 MinutesDetailResponse에 todos 포함
회의록 수정 버튼 회의록 수정 화면 이동 - 화면 전환만 필요, API 불필요 - 프론트엔드 라우팅
회의록 확정 버튼 회의록 확정 API POST /api/minutes/{minutesId}/finalize 회의록을 확정하여 더 이상 수정 불가 상태로 변경 구현됨 확정 후 수정 불가

누락 API: 없음


8. 회의록 수정 화면 (11-회의록수정.html)

화면 기능 필요 API API 엔드포인트 API 기능 설명 구현 상태 비고
회의록 제목 수정 회의록 부분 수정 API PATCH /api/minutes/{minutesId} 회의록 제목 또는 메모 수정 (부분 업데이트) 구현됨 UpdateMinutesRequest(title, memo)
AI 요약 재생성 AI 요약 재생성 API - 구현 안됨 누락 수정된 내용 기반으로 AI 요약을 재생성하는 API 필요
섹션별 검증 체크 섹션 검증 API POST /api/minutes/{minutesId}/sections/{sectionId}/verify 특정 섹션을 검증 완료로 표시 구현됨 VerifySectionRequest → VerifySectionResponse
섹션 잠금/해제 섹션 잠금 API POST /api/minutes/{minutesId}/sections/{sectionId}/lock 검증된 섹션을 잠금 처리하여 수정 방지 구현됨 LockSectionResponse
섹션 잠금 해제 섹션 잠금 해제 API DELETE /api/minutes/{minutesId}/sections/{sectionId}/lock 잠금된 섹션을 해제하여 수정 가능 상태로 변경 구현됨 UnlockSectionResponse
관련 회의록 추가 관련 회의록 추가 API - 구현 안됨 누락 관련 회의록을 추가하는 API 필요
관련 회의록 제거 관련 회의록 제거 API - 구현 안됨 누락 관련 회의록을 제거하는 API 필요
회의록 내용 실시간 저장 회의록 부분 수정 API PATCH /api/minutes/{minutesId} LWW(Last Write Wins) 정책으로 자동 저장 구현됨 자동 저장 주기는 프론트엔드에서 관리
변경 이력 조회 변경 이력 조회 API - 구현 안됨 누락 회의록 변경 이력을 조회하는 API 필요 (버전 관리)

누락 API:

  • POST /api/minutes/{minutesId}/regenerate-summary - AI 요약 재생성 API
  • POST /api/minutes/{minutesId}/related - 관련 회의록 추가 API
  • DELETE /api/minutes/{minutesId}/related/{relatedMinutesId} - 관련 회의록 제거 API
  • GET /api/minutes/{minutesId}/history - 회의록 변경 이력 조회 API

9. 회의록 목록 조회 화면 (12-회의록목록조회.html)

화면 기능 필요 API API 엔드포인트 API 기능 설명 구현 상태 비고
회의록 목록 조회 회의록 목록 조회 API GET /api/minutes 필터링, 정렬, 페이지네이션을 지원하는 회의록 목록 조회 구현됨 MinutesListResponse(items, pagination, filterOptions)
정렬 기능 (최신순/오래된순) 회의록 목록 조회 API GET /api/minutes?sort={sort} sort 파라미터로 정렬 (latest, oldest) 구현됨 sort 파라미터 지원
상태 필터링 회의록 목록 조회 API GET /api/minutes?status={status} status 파라미터로 필터링 (draft, finalized, all) 구현됨 status 파라미터 지원
참석 유형 필터링 회의록 목록 조회 API GET /api/minutes?participationType={type} participationType 파라미터로 필터링 (host, participant, all) 구현됨 participationType 파라미터 지원
검색 기능 회의록 목록 조회 API GET /api/minutes?search={keyword} search 파라미터로 제목/내용 검색 구현됨 search 파라미터 지원
페이지네이션 회의록 목록 조회 API GET /api/minutes?page={page}&size={size} page, size 파라미터로 페이지네이션 구현됨 page, size 파라미터 지원
그리드 레이아웃 표시 - - 프론트엔드 레이아웃 처리 - API 불필요
회의록 상세 보기 회의록 상세 조회 화면 이동 - 화면 전환만 필요, API 불필요 - 프론트엔드 라우팅

누락 API: 없음


10. 추가로 필요하지만 누락된 공통 API

기능 카테고리 필요 API API 엔드포인트 API 기능 설명 구현 상태 비고
사용자 관리 사용자 프로필 조회 GET /api/users/{userId} 사용자 프로필 정보 조회 누락 참석자 정보 표시에 필요
사용자 관리 사용자 목록 조회 GET /api/users 조직 내 사용자 목록 조회 누락 참석자 선택 시 필요
사용자 관리 사용자 검색 GET /api/users/search?query={query} 이메일/이름으로 사용자 검색 누락 참석자 자동완성에 필요
알림 관리 알림 목록 조회 GET /api/notifications 사용자의 알림 목록 조회 누락 회의 초대, 리마인더 알림 표시
알림 관리 알림 읽음 처리 PUT /api/notifications/{notificationId}/read 특정 알림을 읽음으로 표시 누락 알림 관리 기능
알림 관리 알림 설정 조회/변경 GET/PUT /api/users/{userId}/notification-settings 사용자의 알림 수신 설정 관리 누락 알림 설정 기능
파일 관리 파일 업로드 POST /api/files/upload 회의록 첨부파일 업로드 누락 회의록에 파일 첨부 기능
파일 관리 파일 다운로드 GET /api/files/{fileId}/download 첨부파일 다운로드 누락 첨부파일 다운로드 기능
파일 관리 파일 삭제 DELETE /api/files/{fileId} 첨부파일 삭제 누락 첨부파일 관리 기능
템플릿 관리 템플릿 목록 조회 GET /api/templates 사용 가능한 회의록 템플릿 목록 조회 누락 템플릿 선택 화면에서 필요
템플릿 관리 템플릿 상세 조회 GET /api/templates/{templateId} 특정 템플릿의 상세 정보 및 미리보기 누락 템플릿 선택 화면에서 필요
템플릿 관리 사용자 정의 템플릿 생성 POST /api/templates 사용자가 커스텀 템플릿 생성 누락 고급 기능
회의 관리 회의 수정 PUT /api/meetings/{meetingId} 예약된 회의 정보 수정 누락 회의 정보 변경 기능
회의 관리 참석자 목록 조회 GET /api/meetings/{meetingId}/participants 회의 참석자 목록 상세 조회 누락 참석자 관리 기능
회의 관리 참석자 제거 DELETE /api/meetings/{meetingId}/participants/{userId} 회의에서 특정 참석자 제거 누락 참석자 관리 기능
회의록 관리 Todo 상태 변경 PATCH /api/minutes/{minutesId}/todos/{todoId} Todo 완료/미완료 상태 변경 누락 Todo 관리 기능
회의록 관리 회의록 내보내기 GET /api/minutes/{minutesId}/export?format={format} 회의록을 PDF, Word, Markdown 등으로 내보내기 누락 회의록 공유 기능
회의록 관리 회의록 공유 링크 생성 POST /api/minutes/{minutesId}/share 외부 공유를 위한 링크 생성 누락 회의록 공유 기능
통계 개인 통계 조회 GET /api/statistics/personal 개인별 회의 참석 통계 조회 누락 대시보드 통계 기능
통계 팀 통계 조회 GET /api/statistics/team 팀별 회의 통계 조회 누락 대시보드 통계 기능

요약 및 분석 결과

잘 구현된 기능

  1. 인증 및 보안: 로그인, 토큰 관리, 로그아웃 완벽 구현
  2. 회의 생명주기 관리: 회의 예약 → 시작 → 종료 → 회의록 생성 전 과정 구현
  3. 회의록 핵심 기능: 조회, 수정, 확정, 섹션 검증/잠금 구현
  4. 대시보드 기능: 예정 회의, 최근 회의록, 통계, 기간별 필터링 구현
  5. AI 기능: 회의 종료 시 키워드 추출, 안건 요약, Todo 추출 구현

누락된 핵심 API (총 26개)

1. 사용자 관리 (3개)

  • 사용자 프로필 조회
  • 사용자 목록 조회
  • 사용자 검색 (자동완성용)

2. 템플릿 관리 (3개)

  • 템플릿 목록 조회
  • 템플릿 상세 조회
  • 사용자 정의 템플릿 생성

3. 회의 관리 (3개)

  • 회의 정보 수정
  • 참석자 목록 상세 조회
  • 참석자 제거

4. 회의록 관리 (6개)

  • AI 요약 재생성
  • 관련 회의록 추가
  • 관련 회의록 제거
  • 변경 이력 조회
  • Todo 상태 변경
  • 회의록 내보내기 (PDF, Word, Markdown)
  • 회의록 공유 링크 생성

5. 파일 관리 (3개)

  • 파일 업로드
  • 파일 다운로드
  • 파일 삭제

6. 알림 관리 (3개)

  • 알림 목록 조회
  • 알림 읽음 처리
  • 알림 설정 관리

7. 통계 (2개)

  • 개인 통계 조회
  • 팀 통계 조회

8. 실시간 협업 (3개)

  • WebSocket 연결 인증 및 세션 관리
  • 실시간 편집 메시지 전송
  • 커서 위치 동기화

⚠️ 불명확하거나 추가 확인 필요한 부분

  1. WebSocket 프로토콜: 실시간 협업을 위한 메시지 형식 및 이벤트 정의 필요
  2. 템플릿 커스터마이징: PUT /api/meetings/{meetingId}/template API가 섹션 커스터마이징을 어떻게 지원하는지 확인 필요
  3. 자동 저장 메커니즘: LWW(Last Write Wins) 정책의 구현 방식 및 충돌 해결 전략 확인 필요

🎯 우선순위 높은 누락 API (즉시 구현 권장)

  1. 템플릿 목록/상세 조회 - 템플릿 선택 화면이 동작하지 않음
  2. 사용자 검색 - 참석자 자동완성 기능이 없음
  3. AI 요약 재생성 - 회의록 수정 화면의 핵심 기능
  4. Todo 상태 변경 - Todo 관리 기능이 없음
  5. 회의록 내보내기 - 회의록 공유 및 배포에 필수
  6. WebSocket 실시간 협업 프로토콜 - 회의 진행 화면의 핵심 기능

작성일: 2025-10-28 분석자: Claude Code (SuperClaude Framework) 참조: 프로토타입 9개 화면, Controller 4개 파일 (UserController, MeetingController, MinutesController, DashboardController)