유저스토리 v2.3.0 업데이트

회의 종료 화면 정책 명확화 및 실시간 협업 충돌 방지 개선
- 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 13:24:47 +09:00
parent da2421e805
commit 7efc41ec3e

View File

@ -1,6 +1,6 @@
# AI기반 회의록 작성 및 이력 관리 개선 서비스 - 유저스토리 (v2.3.0) # AI기반 회의록 작성 및 이력 관리 개선 서비스 - 유저스토리 (v2.4.0)
- [AI기반 회의록 작성 및 이력 관리 개선 서비스 - 유저스토리 (v2.3.0)](#ai기반-회의록-작성-및-이력-관리-개선-서비스---유저스토리-v230) - [AI기반 회의록 작성 및 이력 관리 개선 서비스 - 유저스토리 (v2.4.0)](#ai기반-회의록-작성-및-이력-관리-개선-서비스---유저스토리-v240)
- [차별화 전략](#차별화-전략) - [차별화 전략](#차별화-전략)
- [1. 기본 기능 (Hygiene Factors)](#1-기본-기능-hygiene-factors) - [1. 기본 기능 (Hygiene Factors)](#1-기본-기능-hygiene-factors)
- [2. 핵심 차별화 포인트 (Differentiators)](#2-핵심-차별화-포인트-differentiators) - [2. 핵심 차별화 포인트 (Differentiators)](#2-핵심-차별화-포인트-differentiators)
@ -19,7 +19,6 @@
### 2. 핵심 차별화 포인트 (Differentiators) ### 2. 핵심 차별화 포인트 (Differentiators)
- **맥락 기반 용어 설명**: 단순 용어 설명을 넘어, 관련 회의록과 업무이력을 바탕으로 실용적인 정보 제공 - **맥락 기반 용어 설명**: 단순 용어 설명을 넘어, 관련 회의록과 업무이력을 바탕으로 실용적인 정보 제공
- **강화된 Todo 연결**: Action item이 담당자의 Todo와 실시간으로 연결되고, 진행 상황이 회의록에 자동 반영
- **섹션 AI 요약 재생성**: 버튼 클릭으로 작성한 섹션 내용을 AI가 요약 (2-3문장, 2-5초 처리) - **섹션 AI 요약 재생성**: 버튼 클릭으로 작성한 섹션 내용을 AI가 요약 (2-3문장, 2-5초 처리)
- **지능형 회의 진행 지원**: 회의 패턴 분석을 통한 안건 추천, 효율성 분석 및 개선 제안 - **지능형 회의 진행 지원**: 회의 패턴 분석을 통한 안건 추천, 효율성 분석 및 개선 제안
@ -31,7 +30,6 @@
2. **Meeting** - 회의, 회의록, Todo, 실시간 협업 통합 관리 2. **Meeting** - 회의, 회의록, Todo, 실시간 협업 통합 관리
- 회의 관리: 회의 예약, 시작, 종료 - 회의 관리: 회의 예약, 시작, 종료
- 회의록 관리: 회의록 생성, 수정, 확정 - 회의록 관리: 회의록 생성, 수정, 확정
- Todo 관리: Todo 할당, 진행 상황 추적, 회의록 양방향 연결
- 실시간 협업: WebSocket 기반 실시간 동기화, 버전 관리, 충돌 해결 - 실시간 협업: WebSocket 기반 실시간 동기화, 버전 관리, 충돌 해결
- 템플릿 관리: 회의록 템플릿 관리 - 템플릿 관리: 회의록 템플릿 관리
- 통계 생성: 회의 및 Todo 통계 - 통계 생성: 회의 및 Todo 통계
@ -83,16 +81,15 @@
--- ---
### UFR-USER-020: [대시보드] 사용자로서 | 나는, 나의 회의 및 Todo 현황을 파악하기 위해 | 대시보드를 조회하고 싶다. ### UFR-USER-020: [대시보드] 사용자로서 | 나는, 나의 회의 현황을 파악하기 위해 | 대시보드를 조회하고 싶다.
**수행절차:** **수행절차:**
1. 로그인 후 대시보드 자동 표시 또는 하단 네비게이션에서 홈 아이콘 클릭 1. 로그인 후 대시보드 자동 표시 또는 하단 네비게이션에서 홈 아이콘 클릭
2. 통계 블록 확인 (예정된 회의, 나의 Todo) 2. 통계 블록 확인 (예정된 회의, 작성중 회의록)
3. 최근 회의 목록 확인 (최대 3개) 3. 최근 회의 목록 확인 (최대 3개)
4. 나의 Todo 목록 확인 (최대 3개) 4. 나의 회의록 목록 확인 (최대 4개)
5. 나의 회의록 목록 확인 (최대 4개) 5. 필요 시 "전체 보기" 링크 클릭하여 회의록 목록 화면 이동
6. 필요 시 섹션별 "전체 보기" 링크 클릭하여 상세 화면 이동 6. FAB 버튼으로 회의 예약 또는 바로 시작
7. FAB 버튼으로 회의 예약 또는 바로 시작
**입력:** **입력:**
- 없음 (자동 렌더링) - 없음 (자동 렌더링)
@ -101,18 +98,16 @@
- 헤더: 사용자 이름, 오늘 예정된 회의 개수 또는 안내 메시지 - 헤더: 사용자 이름, 오늘 예정된 회의 개수 또는 안내 메시지
- 통계 블록 (2열 그리드): - 통계 블록 (2열 그리드):
- 예정된 회의: 전체 예정 + 진행 중 회의 개수 - 예정된 회의: 전체 예정 + 진행 중 회의 개수
- 나의 Todo: 현재 사용자에게 할당된 전체 Todo 개수 - 작성중 회의록: 내가 참석한 회의 중 '작성중' 상태인 회의록 개수 (클릭 액션 없음, 정보 표시만)
- 최근 회의 (회의록 미생성 우선, 빠른 일시 순, 최대 3개): - 최근 회의 (회의록 미생성 우선, 빠른 일시 순, 최대 3개):
- 회의 카드: 상태 배지, 제목, 생성자 표시(👑), 날짜/시간, 참석자 수, 장소, 액션 버튼 - 회의 카드: 상태 배지, 제목, 생성자 표시(👑), 날짜/시간, 참석자 수, 장소, 액션 버튼
- 진행 중 회의: 좌측 녹색 바 강조, "참여하기" 버튼 - 진행 중 회의: 좌측 녹색 바 강조, "참여하기" 버튼
- 예정 회의: 생성자인 경우 "수정" 버튼 - 예정 회의: 생성자인 경우 "수정" 버튼
- 완료 회의: "보기" 버튼 - 완료 회의: "보기" 버튼
- 나의 Todo (미완료 우선, 마감일 순, 최대 3개):
- Todo 카드: 체크박스, D-day 배지, 우선순위 배지, 제목, 회의록 링크, 마감일, 편집 버튼
- 나의 회의록 (최신순, 최대 4개, 2x2 그리드): - 나의 회의록 (최신순, 최대 4개, 2x2 그리드):
- 회의록 카드: 상태 배지, 생성자 표시(👑), 제목, 날짜/시간, 참석자 수, 검증완료율(작성중인 경우) - 회의록 카드: 상태 배지, 생성자 표시(👑), 제목, 날짜/시간, 참석자 수, 검증완료율(작성중인 경우)
- 사이드바 (데스크톱): 로고, 메뉴(회의록, Todo 관리), 사용자 정보, 로그아웃 - 사이드바 (데스크톱): 로고, 메뉴(대시보드, 회의록), 사용자 정보, 로그아웃
- 하단 네비게이션 (모바일): 홈(활성), 회의록, Todo - 하단 네비게이션 (모바일): 홈(활성), 회의록
- FAB 메뉴: - FAB 메뉴:
- 회의예약 버튼: 회의 예약 화면으로 이동 - 회의예약 버튼: 회의 예약 화면으로 이동
- 바로시작 버튼: 템플릿 선택 화면으로 이동 - 바로시작 버튼: 템플릿 선택 화면으로 이동
@ -120,7 +115,6 @@
**예외처리:** **예외처리:**
- 로그인 안 된 경우: 로그인 화면으로 리다이렉트 - 로그인 안 된 경우: 로그인 화면으로 리다이렉트
- 최근 회의 없음: 빈 상태 표시 - 최근 회의 없음: 빈 상태 표시
- Todo 없음: "할당된 Todo가 없습니다" 빈 상태 표시
- 회의록 없음: "참여한 회의록이 없습니다" 빈 상태 표시 - 회의록 없음: "참여한 회의록이 없습니다" 빈 상태 표시
**관련 유저스토리:** **관련 유저스토리:**
@ -129,7 +123,6 @@
- UFR-MEET-020: 템플릿선택 - UFR-MEET-020: 템플릿선택
- UFR-MEET-046: 회의록목록조회 - UFR-MEET-046: 회의록목록조회
- UFR-MEET-047: 회의록상세조회 - UFR-MEET-047: 회의록상세조회
- UFR-TODO-040: Todo관리
--- ---
@ -458,8 +451,9 @@
- 주요 키워드 (태그) - 주요 키워드 (태그)
- 핵심내용 요약 - 핵심내용 요약
- 결정사항 - 결정사항
- Todo 진행상황 (필터: 전체, 지연, 마감 임박, 완료) - Todo 진행상황 (단순 조회 전용)
- Todo 카드: 체크박스, D-day 배지, 우선순위 배지, 제목, 담당자, 마감일, 편집 버튼 - Todo 카드: 제목, 담당자, 마감일만 표시
- D-day 체크, 우선순위 라벨 제거
- 진행률 표시 (수평 바): 완료 Todo 수 / 전체 Todo 수 - 진행률 표시 (수평 바): 완료 Todo 수 / 전체 Todo 수
- 관련회의록 (관련도 배지: 높음, 중간, 낮음) - 관련회의록 (관련도 배지: 높음, 중간, 낮음)
- **회의록 탭**: - **회의록 탭**:
@ -469,103 +463,102 @@
- AI 한줄 요약 (30자 이내, 읽기 전용) - AI 한줄 요약 (30자 이내, 읽기 전용)
- AI 상세 요약 - AI 상세 요약
- 관련회의록 링크 - 관련회의록 링크
4. Todo 체크박스 클릭 시 완료/미완료 토글 4. "수정" 버튼 클릭 시 회의록 수정 화면으로 이동
5. Todo 편집 버튼 클릭 시 편집 모달
6. "수정" 버튼 클릭 시 회의록 수정 화면으로 이동
**입력:** **입력:**
- 탭 클릭: 대시보드 / 회의록 - 탭 클릭: 대시보드 / 회의록
- Todo 필터: 전체, 지연, 마감 임박, 완료
- Todo 체크박스: 완료/미완료 토글
- Todo 편집 버튼: 편집 모달 열기
**출력/결과:** **출력/결과:**
- 헤더: 회의 제목, 생성자 표시 (👑), "수정" 버튼 (권한에 따라 표시) - 헤더: 회의 제목, "수정" 버튼 (제목 텍스트 바로 옆에 배치, 권한에 따라 표시)
- 대시보드 탭: - 대시보드 탭:
- 통계, 키워드, 핵심내용, 결정사항, Todo 진행상황, 관련회의록 - 통계, 키워드, 핵심내용, 결정사항, Todo 진행상황, 관련회의록
- Todo 카드: 제목, 담당자, 마감일만 표시 (D-day, 우선순위 라벨 없음)
- 회의록 탭: - 회의록 탭:
- 기본 정보, 안건별 상세 내용 - 기본 정보, 안건별 상세 내용
- Todo 완료 토글: 확인 모달 → 상태 변경 → "Todo가 완료되었습니다" 토스트
- Todo 편집 모달: 제목, 담당자, 마감일, 우선순위 수정
**예외처리:** **예외처리:**
- 회의록 조회 실패: "회의록 조회 중 오류가 발생했습니다" 에러 메시지 - 회의록 조회 실패: "회의록 조회 중 오류가 발생했습니다" 에러 메시지
- Todo 없음: "등록된 Todo가 없습니다" 빈 상태 표시 - Todo 없음: "등록된 Todo가 없습니다" 빈 상태 표시
- 관련회의록 없음: "관련 회의록이 없습니다" 빈 상태 표시 - 관련회의록 없음: "관련 회의록이 없습니다" 빈 상태 표시
- Todo 완료 토글 실패: "Todo 상태 변경 중 오류가 발생했습니다" 에러 메시지
- Todo 편집 권한 없음: "담당자 또는 회의 생성자만 편집할 수 있습니다" 안내
**관련 유저스토리:** **관련 유저스토리:**
- UFR-MEET-046: 회의록목록조회 - UFR-MEET-046: 회의록목록조회
- UFR-MEET-055: 회의록수정 - UFR-MEET-055: 회의록수정
- UFR-TODO-030: Todo완료처리
- UFR-TODO-040: Todo관리
--- ---
### UFR-MEET-055: [회의록수정] 회의 참석자로서 | 나는, 검증이 완료되지 않았거나 수정이 필요한 | 지난 회의록을 수정하고 싶다. ### UFR-MEET-055: [회의록수정] 회의 참석자로서 | 나는, 검증이 완료되지 않은 안건을 | 수정하고 검증완료 체크를 통해 보호하고 싶다.
**수행절차:** **수행절차:**
1. 회의록 상세 조회 화면에서 "수정" 버튼 클릭 1. 회의록 상세 조회 화면에서 "수정" 버튼 클릭
2. 회의록 수정 화면(11-회의록수정.html) 표시 2. 회의록 수정 화면(11-회의록수정.html) 표시
3. 편집 가능 항목: 3. 여러 참석자가 동시에 수정 화면 진입 가능 (동시 편집 허용)
4. 편집 가능 항목:
- 회의 제목 (텍스트 입력) - 회의 제목 (텍스트 입력)
- AI 한줄 요약 (읽기 전용, 편집 불가) - AI 한줄 요약 (읽기 전용, 편집 불가)
- AI 상세 요약 (텍스트 영역, 편집 가능) - 안건별 입력창 내용 (텍스트 영역, 편집 가능)
- "재생성" 버튼: AI 상세 요약 재생성 (2-3문장, 2-5초 처리) - "AI 재생성" 버튼: 입력창 내용 기반으로 한줄 요약만 재생성
- 안건 내용 (텍스트 영역)
- 관련회의록 추가/제거 - 관련회의록 추가/제거
- "추가" 버튼: 검색 모달 열기 - "추가" 버튼: 검색 모달 열기
- X 버튼: 관련회의록 제거 - X 버튼: 관련회의록 제거
- 참석자 관리 (회의 생성자만): - 참석자 관리 (회의 생성자만):
- 참석자 추가/삭제 - 참석자 추가/삭제
- 05-회의진행 화면과 동일한 UI - 05-회의진행 화면과 동일한 UI
4. 읽기 전용 항목: 5. 읽기 전용 항목:
- 회의 일시 (읽기 전용 배지 표시) - 회의 일시 (읽기 전용 배지 표시)
- 회의 장소 (읽기 전용 배지 표시) - 회의 장소 (읽기 전용 배지 표시)
5. 안건별 검증 완료 토글: 6. 안건별 검증완료 체크:
- 검증 완료 전: 토글 활성화 → 잠금 - 검증완료 전: 체크박스 비활성화 상태, 편집 가능
- 검증 완료 후: 잠금 아이콘 표시 - 검증완료 체크 시: 해당 안건 잠금 (편집 불가)
- 회의 생성자: 잠금 해제 → 토글 비활성화 → 편집 가능 - 회의 생성자만: 검증완료 체크 해제 가능 (잠금 해제)
6. 자동 저장 (30초마다) 7. 저장 로직:
- 저장 상태 표시: "저장 중...", "저장됨" - "저장" 버튼 클릭 시:
7. 모든 안건 검증 완료 시 "최종 확정" 버튼 활성화 - 검증완료된 안건: 저장 스킵
8. 페이지 나가기 전 확인 (변경사항 있을 때) - 미검증 안건: 저장 진행
- 저장 결과 알림:
- "N개 안건이 저장되었습니다"
- "M개 안건은 검증완료 상태로 저장되지 않았습니다"
- 저장 불가 안건 목록 표시
8. 모든 안건 검증 완료 시 "최종 확정" 버튼 활성화
9. 페이지 나가기 전 확인 (변경사항 있을 때)
**입력:** **입력:**
- 회의 제목: 텍스트 입력 - 회의 제목: 텍스트 입력
- AI 상세 요약: 텍스트 영역 편집, "재생성" 버튼 - 안건별 입력창 내용: 텍스트 영역 편집
- 안건 내용: 텍스트 영역 편집 - AI 재생성: 버튼 클릭 (입력창 내용 기반 한줄 요약 생성)
- 관련회의록: 추가(검색 모달), 제거(X 버튼) - 관련회의록: 추가(검색 모달), 제거(X 버튼)
- 참석자: 추가(검색 모달), 삭제(X 버튼) - 회의 생성자만 - 참석자: 추가(검색 모달), 삭제(X 버튼) - 회의 생성자만
- 검증 완료: 토글 스위치 - 검증 완료: 체크박스 (회의 생성자: 체크/해제, 참석자: 체크만)
- 잠금 해제: 잠금 아이콘 클릭 (회의 생성자만)
**출력/결과:** **출력/결과:**
- 편집 화면: 제목, AI 요약, 안건, 관련회의록, 참석자, 검증 토글 - 편집 화면: 제목, AI 한줄 요약, 안건별 입력창, 관련회의록, 참석자, 검증 체크박스
- 자동 저장: "저장 중..." → "저장됨" 상태 표시 - 저장 결과: "N개 안건 저장됨" 토스트, 저장 불가 안건 목록 표시
- AI 재생성: "재생성 중..." → 새 요약 표시 → "재생성되었습니다" 토스트 - AI 재생성: "재생성 중..." → 한줄 요약만 업데이트 → "재생성되었습니다" 토스트
- 관련회의록 추가: 검색 모달 → 선택 → "추가되었습니다" 토스트 - 관련회의록 추가: 검색 모달 → 선택 → "추가되었습니다" 토스트
- 참석자 추가: 검색 모달 → 선택 → "{이름}님이 추가되었습니다" 토스트 - 참석자 추가: 검색 모달 → 선택 → "{이름}님이 추가되었습니다" 토스트
- 검증 완료: 토글 → 잠금 아이콘 표시 - 검증 완료: 체크 → 잠금 아이콘 표시 (편집 불가)
- 잠금 해제: 잠금 아이콘 클릭 → "잠금 해제하시겠습니까?" 확인 → 토글 비활성화 - 잠금 해제 (회의 생성자만): 체크 해제 → "잠금 해제하시겠습니까?" 확인 → 편집 가능
- 최종 확정: 검증률 100% → "최종 확정" 버튼 활성화 - 최종 확정: 검증률 100% → "최종 확정" 버튼 활성화
**예외처리:** **예외처리:**
- 편집 권한 없음 (확정 완료 후, 생성자 아님): 읽기 전용 모드, "회의 생성자만 수정할 수 있습니다" 안내 - 편집 권한 없음 (확정 완료 후): 읽기 전용 모드, "확정된 회의록은 수정할 수 없습니다" 안내
- 검증 완료 섹션 편집 시도 (참석자): "검증 완료된 섹션은 수정할 수 없습니다" 안내 - 검증완료 안건 편집 시도: "검증완료된 안건은 수정할 수 없습니다. 회의 생성자에게 문의하세요" 안내
- 검증완료 해제 권한 없음: "회의 생성자만 검증완료를 해제할 수 있습니다" 안내
- AI 재생성 실패: "재생성 중 오류가 발생했습니다" 에러 메시지 - AI 재생성 실패: "재생성 중 오류가 발생했습니다" 에러 메시지
- 자동 저장 실패: "저장 실패" 상태 표시 - 저장 실패: "저장 중 오류가 발생했습니다" 에러 메시지
- 페이지 나가기: "저장되지 않은 변경사항이 있습니다. 나가시겠습니까?" 확인 모달 - 페이지 나가기: "저장되지 않은 변경사항이 있습니다. 나가시겠습니까?" 확인 모달
- 참석자 관리 권한 없음: "회의 생성자만 참석자를 관리할 수 있습니다" 안내 - 참석자 관리 권한 없음: "회의 생성자만 참석자를 관리할 수 있습니다" 안내
**동시 편집 정책 (MVP):**
- 실시간 동기화 없음 (다른 참석자가 편집하는 내용 안 보임)
- 안건별 검증완료 체크로 충돌 방지
- 마지막 저장 우선 원칙 (Last Write Wins)
**관련 유저스토리:** **관련 유저스토리:**
- UFR-MEET-047: 회의록상세조회 - UFR-MEET-047: 회의록상세조회
- UFR-MEET-050: 최종확정 - UFR-MEET-050: 최종확정
- UFR-AI-035: 섹션AI요약 - UFR-AI-036: AI한줄요약
- UFR-AI-040: 관련회의록연결 - UFR-AI-040: 관련회의록연결
- UFR-COLLAB-010: 회의록수정동기화
- UFR-COLLAB-020: 충돌해결
- UFR-COLLAB-030: 검증완료 - UFR-COLLAB-030: 검증완료
# 유저스토리 v2.3.0 - AI, STT, RAG, COLLAB, TODO, NOTIFICATION 서비스 # 유저스토리 v2.3.0 - AI, STT, RAG, COLLAB, TODO, NOTIFICATION 서비스
@ -1091,149 +1084,6 @@
--- ---
## TODO 서비스 (Meeting 서비스에 통합)
### UFR-TODO-010: [Todo할당] Todo 시스템으로서 | 나는, AI가 추출한 Todo를 담당자에게 전달하기 위해 | Todo를 실시간으로 할당하고 회의록과 연결하고 싶다.
**수행절차:**
1. AI 서비스에서 Todo 추출 완료 (UFR-AI-020)
2. Todo 데이터 수신:
- 제목, 담당자 ID, 마감일, 우선순위
- 회의 ID, 안건 ID
3. Todo 데이터베이스에 저장
4. 담당자에게 알림 대상 생성:
- 알림 유형: "Todo 할당"
- 알림 내용: "{회의 제목}에서 Todo가 할당되었습니다: {Todo 제목}"
- 수신자: 담당자
- 발송 예정 시각: 즉시
5. Notification 서비스가 주기적으로 폴링하여 이메일 발송
6. 회의록과 Todo 양방향 연결:
- 회의록 → Todo 링크
- Todo → 회의록 링크
7. 담당자의 Todo 목록 및 대시보드에 표시
**입력:**
- AI가 추출한 Todo 데이터:
- 제목, 담당자, 마감일, 우선순위
- 회의 정보: 회의 ID, 안건 ID, 회의 제목
**출력/결과:**
- Todo 저장 완료
- 알림 대상 생성 (Notification 테이블에 레코드 추가)
- 회의록과 Todo 양방향 링크 생성
- 담당자 Todo 목록 업데이트
- 회의록 화면에 Todo 표시
**예외처리:**
- 담당자 정보 없음: 회의록 생성자로 할당
- Todo 저장 실패: "Todo 저장 중 오류가 발생했습니다" 로그 기록, 재시도
- 알림 대상 생성 실패: 로그 기록, Todo는 정상 저장
**관련 유저스토리:**
- UFR-AI-020: Todo자동추출
- UFR-TODO-040: Todo관리
- UFR-NOTI-010: 알림발송 (신규)
---
### UFR-TODO-030: [Todo완료처리] Todo 담당자로서 | 나는, 완료된 Todo를 처리하고 회의록에 반영하기 위해 | Todo를 완료하고 회의록에 자동 반영하고 싶다.
**수행절차:**
1. Todo 관리 화면 또는 회의록 상세 조회 화면에서 Todo 체크박스 클릭
2. 완료 확인 모달: "완료 처리하시겠습니까?"
3. 승인 시 Todo 상태 "완료"로 변경
4. 완료 시각 기록
5. 회의록에 자동 반영:
- 회의록 상세 조회 시 완료된 Todo 표시
- Todo 진행상황 진행률 업데이트
6. 알림 대상 생성 (옵션):
- 회의 생성자에게 Todo 완료 알림
- 알림 내용: "{담당자}님이 Todo를 완료했습니다: {Todo 제목}"
7. "Todo가 완료되었습니다" 토스트 메시지
**미완료로 되돌리기:**
1. 완료된 Todo 체크박스 클릭
2. 확인 모달: "미완료로 변경하시겠습니까?"
3. 승인 시 Todo 상태 "미완료"로 변경
4. 회의록 진행률 자동 업데이트
**입력:**
- Todo 체크박스 클릭 (완료/미완료 토글)
- 확인 모달 승인
**출력/결과:**
- Todo 상태 변경: 완료 ↔ 미완료
- 완료 시각 기록
- 회의록 진행률 업데이트
- 알림 대상 생성 (옵션)
- 토스트 메시지: "Todo가 완료되었습니다" / "미완료로 변경되었습니다"
**예외처리:**
- 네트워크 오류: "Todo 상태 변경 중 오류가 발생했습니다" 에러 메시지
- 확인 모달 취소: 체크박스 상태 원복
**관련 유저스토리:**
- UFR-TODO-010: Todo할당
- UFR-TODO-040: Todo관리
- UFR-MEET-047: 회의록상세조회
- UFR-NOTI-010: 알림발송 (신규)
---
### UFR-TODO-040: [Todo관리] Todo 담당자로서 | 나는, 나의 Todo를 효율적으로 관리하기 위해 | Todo 목록을 조회하고 상태를 변경하고 편집하고 싶다.
**수행절차:**
1. 사이드바 또는 하단 네비게이션에서 "Todo 관리" 메뉴 클릭
2. Todo 관리 화면(09-Todo관리.html) 표시
3. 통계 블록 확인 (3열 그리드):
- 전체 (미완료): 완료되지 않은 전체 Todo 개수
- 마감 임박 (3일 이내): D-3 이내 미완료 Todo
- 지연 (기한 경과): 마감일이 지난 미완료 Todo
4. 필터 탭 선택:
- 전체: 모든 Todo (미완료 우선, 마감일 순)
- 지연: 마감일 지난 Todo
- 마감 임박: D-3 이내 Todo
- 완료: 완료된 Todo
5. Todo 카드 확인:
- 체크박스, D-day 배지, 우선순위 배지
- 제목, 회의록 링크, 마감일
- 편집 버튼 (미완료 Todo만)
6. 체크박스 클릭 시 완료/미완료 토글 (확인 모달)
7. 편집 버튼 클릭 시 편집 모달:
- 제목, 담당자, 마감일, 우선순위 수정
- 권한: 담당자 본인 OR 회의 생성자
8. Todo 카드 클릭 시 해당 회의록 상세 조회 화면으로 이동
**입력:**
- 필터 탭 클릭
- Todo 체크박스 클릭
- 편집 버튼 클릭
- Todo 카드 클릭
**출력/결과:**
- 통계 블록 (3열):
- 전체 (미완료), 마감 임박, 지연 개수
- 필터 탭: 전체, 지연, 마감 임박, 완료 (각 탭에 개수 표시)
- Todo 카드:
- D-day 배지 (완료, D+n(지연), D-DAY, D-n)
- 우선순위 배지 (높음, 보통, 낮음)
- 제목, 회의록 링크, 마감일, 편집 버튼
- 편집 모달: 제목, 담당자, 마감일, 우선순위 입력 필드
- 빈 상태: "할당된 Todo가 없습니다"
**예외처리:**
- Todo 없음: 빈 상태 표시
- 편집 권한 없음: "담당자 또는 회의 생성자만 편집할 수 있습니다" 안내
- 편집 실패: "Todo 수정 중 오류가 발생했습니다" 에러 메시지
- 네트워크 오류: "Todo 조회 중 오류가 발생했습니다" 에러 메시지
**관련 유저스토리:**
- UFR-TODO-010: Todo할당
- UFR-TODO-030: Todo완료처리
- UFR-USER-020: 대시보드 조회
---
## NOTIFICATION 서비스 (신규) ## NOTIFICATION 서비스 (신규)
### UFR-NOTI-010: [알림발송] Notification 시스템으로서 | 나는, 사용자에게 중요한 이벤트를 알리기 위해 | 주기적으로 알림 대상을 확인하여 이메일을 발송하고 싶다. ### UFR-NOTI-010: [알림발송] Notification 시스템으로서 | 나는, 사용자에게 중요한 이벤트를 알리기 위해 | 주기적으로 알림 대상을 확인하여 이메일을 발송하고 싶다.
@ -1254,8 +1104,6 @@
- 발송 실패 시 재시도 횟수 증가, 최대 3회 재시도 - 발송 실패 시 재시도 횟수 증가, 최대 3회 재시도
4. **알림 유형 및 트리거**: 4. **알림 유형 및 트리거**:
- **Todo 할당**: AI가 Todo 추출 후 담당자에게 알림
- **Todo 완료**: 담당자가 Todo 완료 시 회의 생성자에게 알림 (옵션)
- **회의 시작 알림**: 회의 시작 10분 전 참석자에게 알림 - **회의 시작 알림**: 회의 시작 10분 전 참석자에게 알림
- **회의록 확정**: 회의록 최종 확정 시 모든 참석자에게 알림 - **회의록 확정**: 회의록 최종 확정 시 모든 참석자에게 알림
- **참석자 초대**: 회의 중 참석자 초대 시 신규 참석자에게 알림 - **참석자 초대**: 회의 중 참석자 초대 시 신규 참석자에게 알림
@ -1282,10 +1130,6 @@
**알림 유형별 템플릿 예시:** **알림 유형별 템플릿 예시:**
**Todo 할당**
- 제목: "[회의록] Todo가 할당되었습니다"
- 내용: "{담당자}님, {회의 제목} 회의에서 다음 Todo가 할당되었습니다:\n- {Todo 제목}\n- 마감일: {마감일}\n\n회의록 보기: {회의록 링크}"
**회의 시작 알림** **회의 시작 알림**
- 제목: "[회의록] 10분 후 회의가 시작됩니다" - 제목: "[회의록] 10분 후 회의가 시작됩니다"
- 내용: "{참석자}님, {회의 제목} 회의가 10분 후 시작됩니다.\n- 일시: {날짜} {시간}\n- 장소: {장소}\n\n회의 참여하기: {회의 링크}" - 내용: "{참석자}님, {회의 제목} 회의가 10분 후 시작됩니다.\n- 일시: {날짜} {시간}\n- 장소: {장소}\n\n회의 참여하기: {회의 링크}"
@ -1331,29 +1175,41 @@
--- ---
### UFR-PART-020: [AI주요내용체크] 회의 참석자로서 | 나는, 중요한 내용을 표시하기 위해 | AI가 추출한 주요 내용을 체크박스로 선택하고 싶다. ### UFR-PART-020: [AI기반메모작성] 회의 참석자로서 | 나는, 중요한 내용을 메모로 기록하기 위해 | AI가 추천한 주요 내용을 메모 입력창에 추가하고 편집하고 싶다.
**수행절차:** **수행절차:**
1. 회의 진행 중 AI가 실시간으로 주요 내용 추출 1. 회의 진행 중 AI가 실시간으로 주요 내용 감지 및 분석
2. "AI 주요 내용" 탭에 체크박스 항목으로 표시 2. "AI 제안" 탭 하단에 "AI가 감지한 주요 내용" 리스트로 표시
3. 참석자는 중요하다고 생각하는 항목 체크 - 각 항목: "[시간] 주요 내용 텍스트" 형식
4. 체크 데이터 개인별로 저장 (다른 참석자 체크 여부 안 보임) - 예: "[15:32] 예산 책정 관련 결정", "[15:35] 다음 회의 일정 합의"
5. 회의 종료 시 AI 요약 시 체크 수에 따라 가중치 부여 3. 참석자가 리스트 항목 선택 시:
- 메모 입력창에 시간과 함께 자동 입력
- 입력된 메모는 수정 가능 (자동/수동 구분 표시)
4. "저장" 버튼 클릭 시 개인 메모로 저장
- 각 참석자별로 개별 저장
- 다른 참석자의 메모는 볼 수 없음
5. 회의 종료 시 AI가 회의록 생성할 때 모든 참석자의 메모 참조
6. 메모는 회의 종료 전까지만 표시 및 편집 가능
**입력:** **입력:**
- 회의 ID - 회의 ID
- AI 추출 주요 내용 - AI가 실시간 감지한 주요 내용
- 사용자 체크 선택 - 참석자가 선택하거나 직접 입력한 메모 텍스트
**출력/결과:** **출력/결과:**
- 체크된 항목 저장 - 메모 입력창: 시간 포함 메모 텍스트
- AI 요약 시 가중치 데이터로 활용 - AI 추천 리스트: 실시간 업데이트되는 주요 내용 항목들
- 저장된 개인 메모: 참석자별 개별 저장
- AI 회의록 생성 시: 모든 참석자의 메모 참조하여 요약 생성
**예외처리:** **예외처리:**
- AI 추출 실패: 빈 목록 표시 - AI 감지 실패: 빈 리스트 표시, 수동 메모 작성은 가능
- 저장 실패: "메모 저장 중 오류가 발생했습니다" 에러 메시지, 로컬 임시 저장
- 회의 종료 후: 메모 조회/편집 불가
**관련 유저스토리:** **관련 유저스토리:**
- UFR-AI-030: 실시간 AI 제안 - UFR-AI-030: 실시간 AI 제안
- UFR-AI-010: 회의록자동작성 (메모 참조)
- UFR-MEET-040: 회의종료 - UFR-MEET-040: 회의종료
--- ---
@ -1539,6 +1395,7 @@
| 버전 | 날짜 | 작성자 | 변경 내용 | | 버전 | 날짜 | 작성자 | 변경 내용 |
|------|------|--------|-----------| |------|------|--------|-----------|
| v2.4.0 | 2025-10-27 | 팀 전체 | • MVP 스코프 축소: Todo 관리 기능 제거<br>• UFR-USER-020 수정: 대시보드에서 "나의 Todo" 제거, "작성중 회의록" 추가<br>• UFR-PART-020 변경: AI주요내용체크 → AI기반메모작성 (메모 입력창 + AI 추천)<br>• UFR-AI-010 개선: 회의록 생성 시 참석자 메모 참조<br>• UFR-MEET-055 개선: 회의록 수정 시 실시간 협업 제거, 검증완료 체크로 보호<br>• TODO 서비스 전체 제거 (UFR-TODO-010/030/040)<br>• NOTIFICATION 서비스: Todo 관련 알림 제거<br>• 네비게이션 간소화: Todo 관리 메뉴 제거 (대시보드, 회의록만 유지) |
| 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.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.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 | 이미준 | 이전 버전 | | v2.2.0 | 2025-10-23 | 이미준 | 이전 버전 |