유저스토리 v2.3.0 및 UI/UX 설계서 v1.4.20 업데이트

회의 종료 화면 정책 명확화 및 실시간 협업 충돌 방지 개선
- UFR-MEET-040: 회의 종료 화면 확인 전용 정책 추가 및 바로 최종 확정 옵션 추가
- UFR-COLLAB-020: 안건 기반 충돌 방지 메커니즘 강화
- UFR-MEET-050: 회의 종료 화면 바로 확정 시나리오 추가

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
yabo0812 2025-10-27 11:18:52 +09:00
parent 6cdad89ad3
commit 9ac57ed931
2 changed files with 272 additions and 17 deletions

View File

@ -628,12 +628,12 @@ graph TD
#### 개요
- **목적**: 실시간 회의 진행 및 AI 기반 회의록 자동 작성
- **관련 유저스토리**: UFR-MEET-030, UFR-STT-010/020, UFR-AI-010, UFR-AI-040, UFR-COLLAB-010, UFR-RAG-010/020
- **관련 유저스토리**: UFR-MEET-030, UFR-STT-010/020, UFR-AI-010, UFR-AI-040, UFR-COLLAB-010, UFR-RAG-010/020, UFR-PART-010/020/030, UFR-HOST-010/020, UFR-TERM-010/020
- **비즈니스 중요도**: 높음 (핵심 화면)
- **접근 경로**: 템플릿선택 → "이 템플릿으로 시작"
- **권한**:
- 회의 시작/종료: 회의 생성자 전용
- 참석자 초대: 모든 참석자
- **접근 경로**: 대시보드 → "참여하기" 버튼 (페이지 전환)
- **권한** (MVP 개선):
- **회의 생성자 전용**: 회의 종료, 녹음 제어 (일시정지/재개/종료)
- **모든 참석자**: 회의 참여, AI 주요 내용 체크, 용어 확인, 관련 회의록 확인, 중도 퇴장
#### 주요 기능
1. 음성 녹음 및 실시간 텍스트 변환 (STT)

View File

@ -255,9 +255,13 @@
### UFR-MEET-030: [회의시작] 회의 생성자로서 | 나는, 회의를 시작하고 회의록을 작성하기 위해 | 회의를 시작하고 음성 녹음을 준비하고 싶다.
**회의 진입 경로:**
- **경로 1**: 대시보드(02-대시보드.html) → "바로시작" FAB 버튼 → 템플릿 선택(04-템플릿선택.html) → 회의 진행(05-회의진행.html)
- **경로 2**: 대시보드 → 진행 중 회의 "참여하기" 버튼 → 회의 진행(05-회의진행.html)
**수행절차:**
1. 템플릿 선택 완료 또는 대시보드에서 진행 중 회의 "참여하기" 클릭
2. 회의 진행 화면(05-회의진행.html) 표시
1. 위 경로 중 하나를 통해 회의 진행 화면(05-회의진행.html) 진입
2. 회의 진행 화면 표시
3. 녹음 시작 확인 (자동 또는 수동)
4. 타이머 시작 (회의 진행 시간 표시)
5. 웨이브폼 애니메이션 표시 (녹음 상태 시각화)
@ -302,8 +306,12 @@
### UFR-MEET-040: [회의종료] 회의 생성자로서 | 나는, 회의를 종료하고 회의록을 정리하기 위해 | 회의를 종료하고 요약 내용을 확인한 후 다음 단계를 선택하고 싶다.
**권한:**
- 회의 생성자만 회의를 종료할 수 있음
- 일반 참석자는 "회의 종료" 버튼이 표시되지 않음
**수행절차:**
1. 회의 진행 화면에서 "회의 종료" 버튼 클릭
1. 회의 진행 화면에서 "회의 종료" 버튼 클릭 (생성자 전용)
2. 종료 확인 모달: "회의를 종료하시겠습니까?" 확인
3. 회의 종료 화면(07-회의종료.html) 표시 (확인 전용, 편집 불가)
4. 통계 확인 (4열 그리드):
@ -742,19 +750,29 @@
---
### UFR-AI-040: [관련회의록연결] 회의 참석자로서 | 나는, 이전 회의 내용을 쉽게 참조하기 위해 | AI가 같은 폴더 내 관련 있는 과거 회의록을 자동으로 찾아 연결해주기를 원한다.
### UFR-AI-040: [관련회의록연결] 회의 참석자로서 | 나는, 이전 회의 내용을 쉽게 참조하기 위해 | AI가 같은 폴더 내 관련 있는 과거 회의록을 자동으로 찾아 연결하고 유사 내용을 요약해주기를 원한다.
**기능 개선 사항 (v2.3.1):**
- **최대 개수**: 5개 → 3개로 축소 (MVP)
- **관련도 표시 방식**: 배지(높음/중간/낮음) → 퍼센트(95%, 78%)로 변경
- **유사 내용 요약 추가** (신규):
- AI가 추천한 각 회의록에서 현재 회의와 유사한 부분 자동 추출
- 유사한 내용을 3-5개 문장으로 요약하여 표시
- 전체 회의록을 열지 않아도 핵심 내용 파악 가능
- "전체 회의록 보기" 버튼으로 상세 내용 확인
- **성능 최적화**:
- 과거 회의록 저장 시 요약본 미리 생성 (배치 처리)
- 실시간 요약은 캐싱된 데이터 활용
- 성능 목표: 1초 이내 표시
**수행절차:**
1. 회의 종료 시 또는 회의록 작성 중 AI가 현재 회의 내용 분석
2. 벡터 유사도 검색을 통해 관련 회의록 탐색
- 같은 폴더 내 회의록 우선
- 키워드, 참석자, 안건 유사도 분석
3. 관련도가 높은 회의록 자동 연결 (최대 5개)
4. 관련도 배지 부여:
- 높음 (80% 이상)
- 중간 (60-80%)
- 낮음 (40-60%)
5. 회의 종료 화면, 회의록 수정 화면, 회의록 상세 조회 화면에 표시
3. 관련도가 높은 회의록 자동 연결 (최대 3개로 축소)
4. 각 회의록에서 유사한 내용 추출 및 요약 (신규 추가)
5. 회의 진행 화면, 회의 종료 화면, 회의록 수정 화면, 회의록 상세 조회 화면에 표시
6. 사용자가 수동으로 추가/제거 가능
**입력:**
@ -762,10 +780,12 @@
- 과거 회의록 데이터 (벡터 DB)
**출력/결과:**
- 관련 회의록 목록 (최대 5개):
- 관련 회의록 목록 (최대 3개):
- 회의록 제목
- 날짜
- 관련도 배지 (높음/중간/낮음)
- 관련도 점수 (퍼센트, 예: 95%, 78%)
- **유사 내용 요약 (3-5개 문장)** ← 신규
- "전체 회의록 보기" 버튼
- 회의록 링크
- 회의록 수정 화면: "추가" 버튼, "X" 제거 버튼
- 회의록 상세 조회 화면: 관련회의록 섹션 표시
@ -773,6 +793,7 @@
**예외처리:**
- 관련 회의록 없음: 빈 목록 표시
- 벡터 검색 실패: 최근 회의록 기준 정렬로 대체
- 유사 내용 요약 실패: 회의록 제목과 날짜만 표시
- 네트워크 오류: 로컬 캐시 사용 또는 빈 목록
**관련 유저스토리:**
@ -1281,9 +1302,243 @@
---
# MVP 개선 사항 (v2.3.1)
## 회의 참석자 권한 및 기능 단순화
### UFR-PART-010: [회의입장] 회의 참석자로서 | 나는, 예정된 회의에 참여하기 위해 | 대시보드에서 "참여하기" 버튼으로 회의에 입장하고 싶다.
**수행절차:**
1. 대시보드에서 진행 중 또는 예정된 회의 확인
2. "참여하기" 버튼 클릭
3. 회의진행 화면으로 페이지 전환 (같은 탭)
4. 회의 참석자로 입장 완료
**입력:**
- 회의 ID
- 사용자 ID
**출력/결과:**
- 회의진행 화면 표시
- 참석자 목록에 추가
**예외처리:**
- 회의 종료됨: "이미 종료된 회의입니다" 안내
- 권한 없음: "참석 권한이 없습니다" 안내
**관련 유저스토리:**
- UFR-MEET-030: 회의시작
---
### UFR-PART-020: [AI주요내용체크] 회의 참석자로서 | 나는, 중요한 내용을 표시하기 위해 | AI가 추출한 주요 내용을 체크박스로 선택하고 싶다.
**수행절차:**
1. 회의 진행 중 AI가 실시간으로 주요 내용 추출
2. "AI 주요 내용" 탭에 체크박스 항목으로 표시
3. 참석자는 중요하다고 생각하는 항목 체크
4. 체크 데이터 개인별로 저장 (다른 참석자 체크 여부 안 보임)
5. 회의 종료 시 AI 요약 시 체크 수에 따라 가중치 부여
**입력:**
- 회의 ID
- AI 추출 주요 내용
- 사용자 체크 선택
**출력/결과:**
- 체크된 항목 저장
- AI 요약 시 가중치 데이터로 활용
**예외처리:**
- AI 추출 실패: 빈 목록 표시
**관련 유저스토리:**
- UFR-AI-030: 실시간 AI 제안
- UFR-MEET-040: 회의종료
---
### UFR-PART-030: [회의중도퇴장] 회의 참석자로서 | 나는, 회의를 중간에 나가야 할 때 | "나가기" 버튼으로 회의에서 퇴장하고 싶다.
**수행절차:**
1. 회의진행 화면 상단 "나가기" 버튼 클릭
2. 확인 모달 표시: "회의에서 나가시겠습니까? 회의는 계속 진행됩니다"
3. 확인 클릭 시 퇴장 이벤트 서버 전송
4. 대시보드로 페이지 전환
**입력:**
- 회의 ID
- 사용자 ID
**출력/결과:**
- 대시보드 화면으로 복귀
- 회의록은 종료 시 공유됨
**예외처리:**
- 네트워크 오류: 로컬 처리 후 재시도
**관련 유저스토리:**
- UFR-MEET-030: 회의시작
---
## 회의 생성자 전용 기능
### UFR-HOST-010: [회의종료권한] 회의 생성자로서 | 나는, 회의를 마무리하기 위해 | "회의 종료" 버튼으로만 회의를 종료하고 싶다.
**수행절차:**
1. 회의진행 화면에서 "회의 종료" 버튼은 생성자에게만 표시
2. 일반 참석자에게는 버튼 숨김 처리
3. 생성자가 "회의 종료" 클릭 시 회의 종료 프로세스 진행
**입력:**
- 회의 ID
- 사용자 ID (생성자 여부 확인)
**출력/결과:**
- 생성자: 회의 종료 버튼 표시 및 동작
- 일반 참석자: 버튼 숨김
**예외처리:**
- 권한 없음: 버튼 미표시
**관련 유저스토리:**
- UFR-MEET-040: 회의종료
---
### UFR-HOST-020: [녹음제어권한] 회의 생성자로서 | 나는, 녹음을 관리하기 위해 | 녹음 일시정지/재개/종료 권한을 가지고 싶다.
**수행절차:**
1. 회의진행 화면에서 녹음 제어 버튼은 생성자에게만 표시
2. 일반 참석자에게는 버튼 숨김 처리
**입력:**
- 회의 ID
- 사용자 ID (생성자 여부 확인)
**출력/결과:**
- 생성자: 녹음 제어 버튼 표시 및 동작
- 일반 참석자: 버튼 숨김
**예외처리:**
- 권한 없음: 버튼 미표시
**관련 유저스토리:**
- UFR-STT-010: 음성녹음인식
---
## 용어 설명 기능 (MVP 단순화)
### UFR-TERM-010: [용어자동감지] 회의 참석자로서 | 나는, 전문용어를 이해하기 위해 | AI가 자동으로 감지한 용어를 "용어" 탭에서 확인하고 싶다.
**수행절차:**
1. AI가 STT 분석 중 중요 용어 자동 감지
2. "용어" 탭에 실시간으로 표시
3. 용어 항목 클릭 시 상세 설명 모달 표시
**입력:**
- STT 텍스트
- 회사 용어 사전 (JSON)
**출력/결과:**
- 용어 목록 표시
- 회사 용어는 ⭐ 배지 표시
**예외처리:**
- 용어 감지 실패: 빈 목록 표시
**관련 유저스토리:**
- UFR-RAG-010: 전문용어감지 (기존 기능 유지)
---
### UFR-TERM-020: [회사용어사전] 회의 참석자로서 | 나는, 회사 특화 용어를 정확히 이해하기 위해 | 회사 용어 사전에 등록된 용어를 우선 표시받고 싶다.
**수행절차:**
1. 용어 감지 시 회사 용어 사전(JSON) 먼저 확인
2. 사전에 있으면 회사 특화 설명 + ⭐ 표시
3. 사전에 없으면 AI가 일반 설명 + 회의 맥락 제공
**입력:**
- 용어
- 회사 용어 사전 (terms-dictionary.json)
- 회의 맥락
**출력/결과:**
- 회사 용어: 정의 + 맥락 + ⭐
- 일반 용어: AI 설명
**예외처리:**
- 사전 로드 실패: AI 설명으로 대체
**관련 유저스토리:**
- UFR-RAG-020: 맥락기반용어설명 (기존 기능 유지)
---
### UFR-TERM-030: [용어관리] 관리자로서 | 나는, 회사 특화 용어를 관리하기 위해 | 용어 사전을 등록/수정하고 싶다.
**수행절차:**
1. 관리자 페이지에서 용어 사전 관리
2. JSON 파일 직접 편집 또는 관리 UI 사용
3. 용어 추가/수정/삭제
**입력:**
- 용어명
- 정의
- 맥락
- 카테고리
**출력/결과:**
- terms-dictionary.json 업데이트
**예외처리:**
- 권한 없음: "관리자 권한이 필요합니다" 안내
---
## 기존 유저스토리 수정
### UFR-MEET-040 수정 (회의종료권한)
**기존**: "회의 생성자 또는 참석자가 회의 종료 버튼을 눌러 회의를 종료한다"
**변경**: "회의 생성자만 '회의 종료' 버튼으로 회의를 종료할 수 있다"
**적용 위치**: [UFR-MEET-040: 회의종료](#ufr-meet-040-회의종료)
---
### UFR-MEET-030 개선 (회의 진입 경로)
**변경**: 대시보드에서 회의 진행 화면 진입 경로 명확화
- **경로 1**: 대시보드 → "바로시작" FAB 버튼 → 템플릿 선택 → 회의 진행
- **경로 2**: 대시보드 → 진행 중 회의 "참여하기" 버튼 → 회의 진행
**적용 위치**: [UFR-MEET-030: 회의시작](#ufr-meet-030-회의시작)
---
### UFR-AI-040 개선 (관련회의록연결)
**변경 및 개선 사항**:
1. **최대 개수**: 5개 → 3개로 축소 (MVP)
2. **관련도 표시 방식**: 배지(높음/중간/낮음) → 퍼센트(95%, 78%)로 변경
3. **유사 내용 요약 추가** (신규):
- AI가 추천한 각 회의록에서 현재 회의와 유사한 부분 자동 추출
- 유사한 내용을 3-5개 문장으로 요약하여 표시
- 전체 회의록을 열지 않아도 핵심 내용 파악 가능
- "전체 회의록 보기" 버튼으로 상세 내용 확인
4. **성능 최적화**:
- 과거 회의록 저장 시 요약본 미리 생성 (배치 처리)
- 실시간 요약은 캐싱된 데이터 활용
- 성능 목표: 1초 이내 표시
**적용 위치**: [UFR-AI-040: 관련회의록연결](#ufr-ai-040-관련회의록연결)
---
## 문서 이력
| 버전 | 날짜 | 작성자 | 변경 내용 |
|------|------|--------|-----------|
| v2.3.1 | 2025-10-27 | 팀 전체 | • MVP 개선: 회의 참석자 권한 단순화<br>• 신규 유저스토리: UFR-PART-010/020/030 (참석자 공통), UFR-HOST-010/020 (생성자 전용)<br>• 신규 유저스토리: UFR-TERM-010/020/030 (용어 기능 MVP 단순화)<br>• UFR-MEET-040 수정: 회의 종료 권한 생성자 전용으로 명확화<br>• UFR-MEET-030 개선: 회의 진입 경로 2가지 명시 (바로시작, 참여하기)<br>• UFR-AI-040 개선: 관련 회의록 유사 내용 요약 추가 (최대 3개, 퍼센트 표시, 3-5문장 요약)<br>• 메모 기능 단순화: 체크박스 방식으로 변경<br>• 용어 설명 단순화: JSON 용어 사전 방식 도입 |
| v2.3.0 | 2025-10-24 | 이미준 | • 프로토타입 분석을 통한 유저스토리 전면 재정비<br>• 신규 유저스토리 추가: UFR-MEET-015 (참석자 실시간 초대), UFR-NOTI-010 (알림 발송)<br>• 알림 아키텍처 폴링 방식으로 통일 (실시간 발송 → 주기적 폴링)<br>• 10개 프로토타입 화면 반영 완료<br>• 마이크로서비스 구성 재정의 (User, Meeting, STT, AI, Notification)<br>• 기존 24개 유저스토리 ID 승계 및 정리 |
| v2.2.0 | 2025-10-23 | 이미준 | 이전 버전 |