From 7efc41ec3e45b9dbaede087ce216ffead47335b1 Mon Sep 17 00:00:00 2001 From: yabo0812 Date: Mon, 27 Oct 2025 13:24:47 +0900 Subject: [PATCH 1/3] =?UTF-8?q?=EC=9C=A0=EC=A0=80=EC=8A=A4=ED=86=A0?= =?UTF-8?q?=EB=A6=AC=20v2.3.0=20=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 회의 종료 화면 정책 명확화 및 실시간 협업 충돌 방지 개선 - UFR-MEET-040: 회의 종료 화면 확인 전용 정책 추가 및 바로 최종 확정 옵션 추가 - UFR-COLLAB-020: 안건 기반 충돌 방지 메커니즘 강화 - UFR-MEET-050: 회의 종료 화면 바로 확정 시나리오 추가 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- design/userstory.md | 299 ++++++++++++-------------------------------- 1 file changed, 78 insertions(+), 221 deletions(-) diff --git a/design/userstory.md b/design/userstory.md index b721a6e..85daa61 100644 --- a/design/userstory.md +++ b/design/userstory.md @@ -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) - [2. 핵심 차별화 포인트 (Differentiators)](#2-핵심-차별화-포인트-differentiators) @@ -19,7 +19,6 @@ ### 2. 핵심 차별화 포인트 (Differentiators) - **맥락 기반 용어 설명**: 단순 용어 설명을 넘어, 관련 회의록과 업무이력을 바탕으로 실용적인 정보 제공 -- **강화된 Todo 연결**: Action item이 담당자의 Todo와 실시간으로 연결되고, 진행 상황이 회의록에 자동 반영 - **섹션 AI 요약 재생성**: 버튼 클릭으로 작성한 섹션 내용을 AI가 요약 (2-3문장, 2-5초 처리) - **지능형 회의 진행 지원**: 회의 패턴 분석을 통한 안건 추천, 효율성 분석 및 개선 제안 @@ -31,7 +30,6 @@ 2. **Meeting** - 회의, 회의록, Todo, 실시간 협업 통합 관리 - 회의 관리: 회의 예약, 시작, 종료 - 회의록 관리: 회의록 생성, 수정, 확정 - - Todo 관리: Todo 할당, 진행 상황 추적, 회의록 양방향 연결 - 실시간 협업: WebSocket 기반 실시간 동기화, 버전 관리, 충돌 해결 - 템플릿 관리: 회의록 템플릿 관리 - 통계 생성: 회의 및 Todo 통계 @@ -83,16 +81,15 @@ --- -### UFR-USER-020: [대시보드] 사용자로서 | 나는, 나의 회의 및 Todo 현황을 파악하기 위해 | 대시보드를 조회하고 싶다. +### UFR-USER-020: [대시보드] 사용자로서 | 나는, 나의 회의 현황을 파악하기 위해 | 대시보드를 조회하고 싶다. **수행절차:** 1. 로그인 후 대시보드 자동 표시 또는 하단 네비게이션에서 홈 아이콘 클릭 -2. 통계 블록 확인 (예정된 회의, 나의 Todo) +2. 통계 블록 확인 (예정된 회의, 작성중 회의록) 3. 최근 회의 목록 확인 (최대 3개) -4. 나의 Todo 목록 확인 (최대 3개) -5. 나의 회의록 목록 확인 (최대 4개) -6. 필요 시 섹션별 "전체 보기" 링크 클릭하여 상세 화면 이동 -7. FAB 버튼으로 회의 예약 또는 바로 시작 +4. 나의 회의록 목록 확인 (최대 4개) +5. 필요 시 "전체 보기" 링크 클릭하여 회의록 목록 화면 이동 +6. FAB 버튼으로 회의 예약 또는 바로 시작 **입력:** - 없음 (자동 렌더링) @@ -101,18 +98,16 @@ - 헤더: 사용자 이름, 오늘 예정된 회의 개수 또는 안내 메시지 - 통계 블록 (2열 그리드): - 예정된 회의: 전체 예정 + 진행 중 회의 개수 - - 나의 Todo: 현재 사용자에게 할당된 전체 Todo 개수 + - 작성중 회의록: 내가 참석한 회의 중 '작성중' 상태인 회의록 개수 (클릭 액션 없음, 정보 표시만) - 최근 회의 (회의록 미생성 우선, 빠른 일시 순, 최대 3개): - 회의 카드: 상태 배지, 제목, 생성자 표시(👑), 날짜/시간, 참석자 수, 장소, 액션 버튼 - 진행 중 회의: 좌측 녹색 바 강조, "참여하기" 버튼 - 예정 회의: 생성자인 경우 "수정" 버튼 - 완료 회의: "보기" 버튼 -- 나의 Todo (미완료 우선, 마감일 순, 최대 3개): - - Todo 카드: 체크박스, D-day 배지, 우선순위 배지, 제목, 회의록 링크, 마감일, 편집 버튼 - 나의 회의록 (최신순, 최대 4개, 2x2 그리드): - 회의록 카드: 상태 배지, 생성자 표시(👑), 제목, 날짜/시간, 참석자 수, 검증완료율(작성중인 경우) -- 사이드바 (데스크톱): 로고, 메뉴(회의록, Todo 관리), 사용자 정보, 로그아웃 -- 하단 네비게이션 (모바일): 홈(활성), 회의록, Todo +- 사이드바 (데스크톱): 로고, 메뉴(대시보드, 회의록), 사용자 정보, 로그아웃 +- 하단 네비게이션 (모바일): 홈(활성), 회의록 - FAB 메뉴: - 회의예약 버튼: 회의 예약 화면으로 이동 - 바로시작 버튼: 템플릿 선택 화면으로 이동 @@ -120,7 +115,6 @@ **예외처리:** - 로그인 안 된 경우: 로그인 화면으로 리다이렉트 - 최근 회의 없음: 빈 상태 표시 -- Todo 없음: "할당된 Todo가 없습니다" 빈 상태 표시 - 회의록 없음: "참여한 회의록이 없습니다" 빈 상태 표시 **관련 유저스토리:** @@ -129,7 +123,6 @@ - UFR-MEET-020: 템플릿선택 - UFR-MEET-046: 회의록목록조회 - UFR-MEET-047: 회의록상세조회 -- UFR-TODO-040: Todo관리 --- @@ -458,8 +451,9 @@ - 주요 키워드 (태그) - 핵심내용 요약 - 결정사항 - - Todo 진행상황 (필터: 전체, 지연, 마감 임박, 완료) - - Todo 카드: 체크박스, D-day 배지, 우선순위 배지, 제목, 담당자, 마감일, 편집 버튼 + - Todo 진행상황 (단순 조회 전용) + - Todo 카드: 제목, 담당자, 마감일만 표시 + - D-day 체크, 우선순위 라벨 제거 - 진행률 표시 (수평 바): 완료 Todo 수 / 전체 Todo 수 - 관련회의록 (관련도 배지: 높음, 중간, 낮음) - **회의록 탭**: @@ -469,103 +463,102 @@ - AI 한줄 요약 (30자 이내, 읽기 전용) - AI 상세 요약 - 관련회의록 링크 -4. Todo 체크박스 클릭 시 완료/미완료 토글 -5. Todo 편집 버튼 클릭 시 편집 모달 -6. "수정" 버튼 클릭 시 회의록 수정 화면으로 이동 +4. "수정" 버튼 클릭 시 회의록 수정 화면으로 이동 **입력:** - 탭 클릭: 대시보드 / 회의록 -- Todo 필터: 전체, 지연, 마감 임박, 완료 -- Todo 체크박스: 완료/미완료 토글 -- Todo 편집 버튼: 편집 모달 열기 **출력/결과:** -- 헤더: 회의 제목, 생성자 표시 (👑), "수정" 버튼 (권한에 따라 표시) +- 헤더: 회의 제목, "수정" 버튼 (제목 텍스트 바로 옆에 배치, 권한에 따라 표시) - 대시보드 탭: - 통계, 키워드, 핵심내용, 결정사항, Todo 진행상황, 관련회의록 + - Todo 카드: 제목, 담당자, 마감일만 표시 (D-day, 우선순위 라벨 없음) - 회의록 탭: - 기본 정보, 안건별 상세 내용 -- Todo 완료 토글: 확인 모달 → 상태 변경 → "Todo가 완료되었습니다" 토스트 -- Todo 편집 모달: 제목, 담당자, 마감일, 우선순위 수정 **예외처리:** - 회의록 조회 실패: "회의록 조회 중 오류가 발생했습니다" 에러 메시지 - Todo 없음: "등록된 Todo가 없습니다" 빈 상태 표시 - 관련회의록 없음: "관련 회의록이 없습니다" 빈 상태 표시 -- Todo 완료 토글 실패: "Todo 상태 변경 중 오류가 발생했습니다" 에러 메시지 -- Todo 편집 권한 없음: "담당자 또는 회의 생성자만 편집할 수 있습니다" 안내 **관련 유저스토리:** - UFR-MEET-046: 회의록목록조회 - UFR-MEET-055: 회의록수정 -- UFR-TODO-030: Todo완료처리 -- UFR-TODO-040: Todo관리 --- -### UFR-MEET-055: [회의록수정] 회의 참석자로서 | 나는, 검증이 완료되지 않았거나 수정이 필요한 | 지난 회의록을 수정하고 싶다. +### UFR-MEET-055: [회의록수정] 회의 참석자로서 | 나는, 검증이 완료되지 않은 안건을 | 수정하고 검증완료 체크를 통해 보호하고 싶다. **수행절차:** 1. 회의록 상세 조회 화면에서 "수정" 버튼 클릭 2. 회의록 수정 화면(11-회의록수정.html) 표시 -3. 편집 가능 항목: +3. 여러 참석자가 동시에 수정 화면 진입 가능 (동시 편집 허용) +4. 편집 가능 항목: - 회의 제목 (텍스트 입력) - AI 한줄 요약 (읽기 전용, 편집 불가) - - AI 상세 요약 (텍스트 영역, 편집 가능) - - "재생성" 버튼: AI 상세 요약 재생성 (2-3문장, 2-5초 처리) - - 안건 내용 (텍스트 영역) + - 안건별 입력창 내용 (텍스트 영역, 편집 가능) + - "AI 재생성" 버튼: 입력창 내용 기반으로 한줄 요약만 재생성 - 관련회의록 추가/제거 - "추가" 버튼: 검색 모달 열기 - X 버튼: 관련회의록 제거 - 참석자 관리 (회의 생성자만): - 참석자 추가/삭제 - 05-회의진행 화면과 동일한 UI -4. 읽기 전용 항목: +5. 읽기 전용 항목: - 회의 일시 (읽기 전용 배지 표시) - 회의 장소 (읽기 전용 배지 표시) -5. 안건별 검증 완료 토글: - - 검증 완료 전: 토글 활성화 → 잠금 - - 검증 완료 후: 잠금 아이콘 표시 - - 회의 생성자: 잠금 해제 → 토글 비활성화 → 편집 가능 -6. 자동 저장 (30초마다) - - 저장 상태 표시: "저장 중...", "저장됨" -7. 모든 안건 검증 완료 시 "최종 확정" 버튼 활성화 -8. 페이지 나가기 전 확인 (변경사항 있을 때) +6. 안건별 검증완료 체크: + - 검증완료 전: 체크박스 비활성화 상태, 편집 가능 + - 검증완료 체크 시: 해당 안건 잠금 (편집 불가) + - 회의 생성자만: 검증완료 체크 해제 가능 (잠금 해제) +7. 저장 로직: + - "저장" 버튼 클릭 시: + - 검증완료된 안건: 저장 스킵 + - 미검증 안건: 저장 진행 + - 저장 결과 알림: + - "N개 안건이 저장되었습니다" + - "M개 안건은 검증완료 상태로 저장되지 않았습니다" + - 저장 불가 안건 목록 표시 +8. 모든 안건 검증 완료 시 "최종 확정" 버튼 활성화 +9. 페이지 나가기 전 확인 (변경사항 있을 때) **입력:** - 회의 제목: 텍스트 입력 -- AI 상세 요약: 텍스트 영역 편집, "재생성" 버튼 -- 안건 내용: 텍스트 영역 편집 +- 안건별 입력창 내용: 텍스트 영역 편집 +- AI 재생성: 버튼 클릭 (입력창 내용 기반 한줄 요약 생성) - 관련회의록: 추가(검색 모달), 제거(X 버튼) - 참석자: 추가(검색 모달), 삭제(X 버튼) - 회의 생성자만 -- 검증 완료: 토글 스위치 -- 잠금 해제: 잠금 아이콘 클릭 (회의 생성자만) +- 검증 완료: 체크박스 (회의 생성자: 체크/해제, 참석자: 체크만) **출력/결과:** -- 편집 화면: 제목, AI 요약, 안건, 관련회의록, 참석자, 검증 토글 -- 자동 저장: "저장 중..." → "저장됨" 상태 표시 -- AI 재생성: "재생성 중..." → 새 요약 표시 → "재생성되었습니다" 토스트 +- 편집 화면: 제목, AI 한줄 요약, 안건별 입력창, 관련회의록, 참석자, 검증 체크박스 +- 저장 결과: "N개 안건 저장됨" 토스트, 저장 불가 안건 목록 표시 +- AI 재생성: "재생성 중..." → 한줄 요약만 업데이트 → "재생성되었습니다" 토스트 - 관련회의록 추가: 검색 모달 → 선택 → "추가되었습니다" 토스트 - 참석자 추가: 검색 모달 → 선택 → "{이름}님이 추가되었습니다" 토스트 -- 검증 완료: 토글 → 잠금 아이콘 표시 -- 잠금 해제: 잠금 아이콘 클릭 → "잠금 해제하시겠습니까?" 확인 → 토글 비활성화 +- 검증 완료: 체크 → 잠금 아이콘 표시 (편집 불가) +- 잠금 해제 (회의 생성자만): 체크 해제 → "잠금 해제하시겠습니까?" 확인 → 편집 가능 - 최종 확정: 검증률 100% → "최종 확정" 버튼 활성화 **예외처리:** -- 편집 권한 없음 (확정 완료 후, 생성자 아님): 읽기 전용 모드, "회의 생성자만 수정할 수 있습니다" 안내 -- 검증 완료 섹션 편집 시도 (참석자): "검증 완료된 섹션은 수정할 수 없습니다" 안내 +- 편집 권한 없음 (확정 완료 후): 읽기 전용 모드, "확정된 회의록은 수정할 수 없습니다" 안내 +- 검증완료 안건 편집 시도: "검증완료된 안건은 수정할 수 없습니다. 회의 생성자에게 문의하세요" 안내 +- 검증완료 해제 권한 없음: "회의 생성자만 검증완료를 해제할 수 있습니다" 안내 - AI 재생성 실패: "재생성 중 오류가 발생했습니다" 에러 메시지 -- 자동 저장 실패: "저장 실패" 상태 표시 +- 저장 실패: "저장 중 오류가 발생했습니다" 에러 메시지 - 페이지 나가기: "저장되지 않은 변경사항이 있습니다. 나가시겠습니까?" 확인 모달 - 참석자 관리 권한 없음: "회의 생성자만 참석자를 관리할 수 있습니다" 안내 +**동시 편집 정책 (MVP):** +- 실시간 동기화 없음 (다른 참석자가 편집하는 내용 안 보임) +- 안건별 검증완료 체크로 충돌 방지 +- 마지막 저장 우선 원칙 (Last Write Wins) + **관련 유저스토리:** - UFR-MEET-047: 회의록상세조회 - UFR-MEET-050: 최종확정 -- UFR-AI-035: 섹션AI요약 +- UFR-AI-036: AI한줄요약 - UFR-AI-040: 관련회의록연결 -- UFR-COLLAB-010: 회의록수정동기화 -- UFR-COLLAB-020: 충돌해결 - UFR-COLLAB-030: 검증완료 # 유저스토리 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 서비스 (신규) ### UFR-NOTI-010: [알림발송] Notification 시스템으로서 | 나는, 사용자에게 중요한 이벤트를 알리기 위해 | 주기적으로 알림 대상을 확인하여 이메일을 발송하고 싶다. @@ -1254,8 +1104,6 @@ - 발송 실패 시 재시도 횟수 증가, 최대 3회 재시도 4. **알림 유형 및 트리거**: - - **Todo 할당**: AI가 Todo 추출 후 담당자에게 알림 - - **Todo 완료**: 담당자가 Todo 완료 시 회의 생성자에게 알림 (옵션) - **회의 시작 알림**: 회의 시작 10분 전 참석자에게 알림 - **회의록 확정**: 회의록 최종 확정 시 모든 참석자에게 알림 - **참석자 초대**: 회의 중 참석자 초대 시 신규 참석자에게 알림 @@ -1282,10 +1130,6 @@ **알림 유형별 템플릿 예시:** -**Todo 할당** -- 제목: "[회의록] Todo가 할당되었습니다" -- 내용: "{담당자}님, {회의 제목} 회의에서 다음 Todo가 할당되었습니다:\n- {Todo 제목}\n- 마감일: {마감일}\n\n회의록 보기: {회의록 링크}" - **회의 시작 알림** - 제목: "[회의록] 10분 후 회의가 시작됩니다" - 내용: "{참석자}님, {회의 제목} 회의가 10분 후 시작됩니다.\n- 일시: {날짜} {시간}\n- 장소: {장소}\n\n회의 참여하기: {회의 링크}" @@ -1331,29 +1175,41 @@ --- -### UFR-PART-020: [AI주요내용체크] 회의 참석자로서 | 나는, 중요한 내용을 표시하기 위해 | AI가 추출한 주요 내용을 체크박스로 선택하고 싶다. +### UFR-PART-020: [AI기반메모작성] 회의 참석자로서 | 나는, 중요한 내용을 메모로 기록하기 위해 | AI가 추천한 주요 내용을 메모 입력창에 추가하고 편집하고 싶다. **수행절차:** -1. 회의 진행 중 AI가 실시간으로 주요 내용 추출 -2. "AI 주요 내용" 탭에 체크박스 항목으로 표시 -3. 참석자는 중요하다고 생각하는 항목 체크 -4. 체크 데이터 개인별로 저장 (다른 참석자 체크 여부 안 보임) -5. 회의 종료 시 AI 요약 시 체크 수에 따라 가중치 부여 +1. 회의 진행 중 AI가 실시간으로 주요 내용 감지 및 분석 +2. "AI 제안" 탭 하단에 "AI가 감지한 주요 내용" 리스트로 표시 + - 각 항목: "[시간] 주요 내용 텍스트" 형식 + - 예: "[15:32] 예산 책정 관련 결정", "[15:35] 다음 회의 일정 합의" +3. 참석자가 리스트 항목 선택 시: + - 메모 입력창에 시간과 함께 자동 입력 + - 입력된 메모는 수정 가능 (자동/수동 구분 표시) +4. "저장" 버튼 클릭 시 개인 메모로 저장 + - 각 참석자별로 개별 저장 + - 다른 참석자의 메모는 볼 수 없음 +5. 회의 종료 시 AI가 회의록 생성할 때 모든 참석자의 메모 참조 +6. 메모는 회의 종료 전까지만 표시 및 편집 가능 **입력:** - 회의 ID -- AI 추출 주요 내용 -- 사용자 체크 선택 +- AI가 실시간 감지한 주요 내용 +- 참석자가 선택하거나 직접 입력한 메모 텍스트 **출력/결과:** -- 체크된 항목 저장 -- AI 요약 시 가중치 데이터로 활용 +- 메모 입력창: 시간 포함 메모 텍스트 +- AI 추천 리스트: 실시간 업데이트되는 주요 내용 항목들 +- 저장된 개인 메모: 참석자별 개별 저장 +- AI 회의록 생성 시: 모든 참석자의 메모 참조하여 요약 생성 **예외처리:** -- AI 추출 실패: 빈 목록 표시 +- AI 감지 실패: 빈 리스트 표시, 수동 메모 작성은 가능 +- 저장 실패: "메모 저장 중 오류가 발생했습니다" 에러 메시지, 로컬 임시 저장 +- 회의 종료 후: 메모 조회/편집 불가 **관련 유저스토리:** - UFR-AI-030: 실시간 AI 제안 +- UFR-AI-010: 회의록자동작성 (메모 참조) - UFR-MEET-040: 회의종료 --- @@ -1539,6 +1395,7 @@ | 버전 | 날짜 | 작성자 | 변경 내용 | |------|------|--------|-----------| +| v2.4.0 | 2025-10-27 | 팀 전체 | • MVP 스코프 축소: Todo 관리 기능 제거
• UFR-USER-020 수정: 대시보드에서 "나의 Todo" 제거, "작성중 회의록" 추가
• UFR-PART-020 변경: AI주요내용체크 → AI기반메모작성 (메모 입력창 + AI 추천)
• UFR-AI-010 개선: 회의록 생성 시 참석자 메모 참조
• UFR-MEET-055 개선: 회의록 수정 시 실시간 협업 제거, 검증완료 체크로 보호
• TODO 서비스 전체 제거 (UFR-TODO-010/030/040)
• NOTIFICATION 서비스: Todo 관련 알림 제거
• 네비게이션 간소화: Todo 관리 메뉴 제거 (대시보드, 회의록만 유지) | | v2.3.1 | 2025-10-27 | 팀 전체 | • MVP 개선: 회의 참석자 권한 단순화
• 신규 유저스토리: UFR-PART-010/020/030 (참석자 공통), UFR-HOST-010/020 (생성자 전용)
• 신규 유저스토리: UFR-TERM-010/020/030 (용어 기능 MVP 단순화)
• UFR-MEET-040 수정: 회의 종료 권한 생성자 전용으로 명확화
• UFR-MEET-030 개선: 회의 진입 경로 2가지 명시 (바로시작, 참여하기)
• UFR-AI-040 개선: 관련 회의록 유사 내용 요약 추가 (최대 3개, 퍼센트 표시, 3-5문장 요약)
• 메모 기능 단순화: 체크박스 방식으로 변경
• 용어 설명 단순화: JSON 용어 사전 방식 도입 | | v2.3.0 | 2025-10-24 | 이미준 | • 프로토타입 분석을 통한 유저스토리 전면 재정비
• 신규 유저스토리 추가: UFR-MEET-015 (참석자 실시간 초대), UFR-NOTI-010 (알림 발송)
• 알림 아키텍처 폴링 방식으로 통일 (실시간 발송 → 주기적 폴링)
• 10개 프로토타입 화면 반영 완료
• 마이크로서비스 구성 재정의 (User, Meeting, STT, AI, Notification)
• 기존 24개 유저스토리 ID 승계 및 정리 | | v2.2.0 | 2025-10-23 | 이미준 | 이전 버전 | From 4c7f41939a61f27ad41a7faec3922533a0d4f2d3 Mon Sep 17 00:00:00 2001 From: Daewoong Jeon Date: Mon, 27 Oct 2025 13:31:58 +0900 Subject: [PATCH 2/3] Create README.md --- meeting/README.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 meeting/README.md diff --git a/meeting/README.md b/meeting/README.md new file mode 100644 index 0000000..05763f9 --- /dev/null +++ b/meeting/README.md @@ -0,0 +1,25 @@ +# notification 메일 알림발송 + +아래와 같이 메일발송 Email List를 loop돌려서 event 객체를 생성한 후에 `publishNotificationRequest` 메소드를 통해 Event 메세지 발행하시면 됩니다. + +``` + // 각 참석자에게 개별 알림 이벤트 발행 + for (String participantEmail : participants) { + NotificationRequestEvent event = NotificationRequestEvent.builder() + .notificationType("MEETING_INVITATION") + .recipientEmail(participantEmail) + .recipientId(participantEmail) + .recipientName(participantEmail) + .title("회의 초대") + .message(String.format("'%s' 회의에 초대되었습니다. 일시: %s, 장소: %s", + title, startTime, location)) + .relatedEntityId(meetingId) + .relatedEntityType("MEETING") + .requestedBy(organizerId) + .requestedByName(organizerName) + .eventTime(LocalDateTime.now()) + .build(); + + publishNotificationRequest(event); + } +``` From 6563bd16e66a8602e940eba6a055918453048095 Mon Sep 17 00:00:00 2001 From: yabo0812 Date: Mon, 27 Oct 2025 14:05:55 +0900 Subject: [PATCH 3/3] =?UTF-8?q?=EC=9C=A0=EC=A0=80=EC=8A=A4=ED=86=A0?= =?UTF-8?q?=EB=A6=AC=20=EB=B0=8F=20UI/UX=20=EC=84=A4=EA=B3=84=EC=84=9C=20v?= =?UTF-8?q?2.4.0=20=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit UFR-MEET-030 회의 진행 화면 개선 - AI 제안 탭 내 개인 메모 작성 기능 명확화 (수동 저장만 지원) - 하단 고정 버튼 역할별 차별화 - 회의 생성자: 일시정지/녹음재개 + 회의 종료 - 회의 참석자: 회의 나가기 - 예외처리 추가: 회의 종료/나가기 확인 모달 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- design/uiux/style-guide.md | 23 +- design/uiux/uiux.md | 431 ++++++++++++++++++++----------------- design/userstory.md | 51 +++-- 3 files changed, 285 insertions(+), 220 deletions(-) diff --git a/design/uiux/style-guide.md b/design/uiux/style-guide.md index 0a3f274..3ba87b8 100644 --- a/design/uiux/style-guide.md +++ b/design/uiux/style-guide.md @@ -1,5 +1,14 @@ # 회의록 서비스 스타일 가이드 +## 문서 정보 +- **작성일**: 2025-10-21 +- **최종 수정일**: 2025-10-27 +- **작성자**: 강지수 (Product Designer), 이미준 (서비스 기획자), 도그냥 (서비스 기획자) +- **버전**: 1.3.1 +- **설계 철학**: Mobile First Design + +--- + ## 1. 디자인 철학 ### 핵심 원칙 @@ -368,8 +377,10 @@ - 02-대시보드: 최근 회의 카드, 내 회의록 카드 - 10-회의록상세조회: 회의록 정보 섹션 -### D-day 배지 -Todo 마감일 표시를 위한 D-day 배지 스타일입니다. +### D-day 배지 (참고용) +**⚠️ MVP 스코프 축소 (v1.3.1)**: D-day 배지는 09-Todo관리 화면에서만 사용됩니다. 10-회의록상세조회 및 11-회의록수정 화면에서는 Todo 단순 조회만 제공하므로 D-day 배지가 표시되지 않습니다. + +Todo 마감일 표시를 위한 D-day 배지 스타일입니다 (09-Todo관리 화면 전용). ```css /* D-Day (오늘 마감) */ @@ -1277,7 +1288,7 @@ Todo 마감일 표시를 위한 D-day 배지 스타일입니다. - 참석자 관리 (추가/삭제) - 회의록 최종 확정 - 검증 완료된 안건 잠금 해제 - - 모든 Todo 수정 (담당자 변경 포함) + - ~~모든 Todo 수정 (담당자 변경 포함)~~ **MVP 스코프 축소 (v1.3.1)**: Todo 편집 기능 제거 - **사용 예시**: - "회의 생성자 전용 기능" - "회의 생성자만 회의를 종료할 수 있습니다" @@ -1288,11 +1299,11 @@ Todo 마감일 표시를 위한 D-day 배지 스타일입니다. - 회의록 조회 - 안건 편집 (검증 완료 전) - 안건 검증 - - 본인의 Todo 수정 (담당자 변경 불가) + - ~~본인의 Todo 수정 (담당자 변경 불가)~~ **MVP 스코프 축소 (v1.3.1)**: Todo 편집 기능 제거, 단순 조회만 가능 - 회의록 목록 조회 (본인이 참석한 회의만) - **사용 예시**: - "모든 참석자가 편집할 수 있습니다" - - "참석자는 본인의 Todo만 수정 가능합니다" + - ~~"참석자는 본인의 Todo만 수정 가능합니다"~~ **변경 (v1.3.1)**: "Todo는 조회만 가능합니다" ### 사용하지 않는 용어 - ❌ "회의록 작성자" - 명확하지 않으므로 사용 금지 @@ -1304,6 +1315,8 @@ Todo 마감일 표시를 위한 D-day 배지 스타일입니다. | 버전 | 날짜 | 작성자 | 변경 내용 | |------|------|--------|----------| +| 1.3.1 | 2025-10-27 | 강지수 | MVP 스코프 축소 v2.4.0 반영 (Todo 관련 섹션 수정)
- **D-day 배지 섹션**: 참고용으로 변경, 09-Todo관리 화면에서만 사용됨을 명시
- 10-회의록상세조회 및 11-회의록수정 화면에서는 Todo 단순 조회만 제공
- **사용자 역할 용어**: 권한 설명 업데이트
- 회의 생성자: "모든 Todo 수정" 권한 제거됨 (취소선 표시)
- 회의 참석자: "본인의 Todo 수정" 권한 제거됨 (취소선 표시)
- Todo는 조회만 가능하도록 변경
- **일관성 유지**: UI/UX 설계서 v1.5.1과 동기화 | +| 1.3.0 | 2025-10-24 | 이미준 | 사용자 역할 용어 통일 (유저스토리 v2.1.2 반영)
- **용어 정의 섹션 추가**: "회의 생성자"와 "회의 참석자" 용어 명확히 정의
- 회의 생성자: 회의 예약을 생성한 사용자, 회의 시작/종료/최종 확정 권한
- 회의 참석자: 회의에 참석하는 모든 사용자 (생성자 포함), 회의록 편집/조회 권한
- **사용하지 않는 용어 명시**: "회의록 작성자", "작성자" 용어 사용 금지
- **권한 상세 설명**: 생성자 전용 기능, 참석자 공통 기능 구체화
- **일관성 달성**: 유저스토리, 화면설계서, 스타일 가이드 간 용어 완전 통일 | | 1.0 | 2025-10-21 | 최유진 | 최초 작성 - reference/sampleimg 샘플 이미지 기반 스타일 가이드 작성 | | 1.0.1 | 2025-10-21 | 이미준 | 네비게이션 간소화 및 인터랙션 개선
- 설정 메뉴를 프로필 메뉴로 통합 (사이드바, 하단 네비게이션)
- 로그아웃 및 개인 설정 기능은 프로필 영역에서 접근
- Todo 항목 클릭 시 회의록 상세 화면으로 이동하는 인터랙션 추가
- 네비게이션 메뉴 항목: 대시보드, 회의 목록, Todo 관리, 프로필 (4개 항목) | | 1.1 | 2025-10-21 | 이미준 | 반응형 네비게이션 및 2열 레이아웃 패턴 추가
- **반응형 네비게이션 전략**: Mobile (하단 네비게이션), Desktop (왼쪽 사이드바 240px)
- **사이드바 네비게이션 (Desktop)**: 로고 영역, 메뉴 항목 (대시보드/회의 목록/Todo 관리), 사용자 정보 영역
- **하단 네비게이션 (Mobile)**: 홈/회의록/Todo/프로필 (4개 메뉴)
- **2열 레이아웃 패턴**: 회의 진행 화면용 (왼쪽 65% 에디터, 오른쪽 35% 탭 패널)
- **탭 네비게이션 사용 예시**: 회의록 상세 (2개 탭), 회의 진행 (4개 탭) | diff --git a/design/uiux/uiux.md b/design/uiux/uiux.md index f4f16a9..9e24ad9 100644 --- a/design/uiux/uiux.md +++ b/design/uiux/uiux.md @@ -2,9 +2,9 @@ ## 문서 정보 - **작성일**: 2025-10-21 -- **최종 수정일**: 2025-10-25 +- **최종 수정일**: 2025-10-27 - **작성자**: 이미준 (서비스 기획자) -- **버전**: 1.4.20 +- **버전**: 1.5.1 - **설계 철학**: Mobile First Design --- @@ -207,20 +207,25 @@ graph TD ### 02-대시보드 #### 개요 -- **목적**: 주요 기능 접근 허브, 최근 활동 및 Todo 요약 제공 -- **관련 유저스토리**: 여러 유저스토리의 진입점, UFR-MEET-030 (회의록 조회), UFR-TODO-010 (Todo 조회) +- **목적**: 주요 기능 접근 허브, 최근 활동 요약 제공 +- **관련 유저스토리**: UFR-USER-020 (대시보드 조회) - **비즈니스 중요도**: 필수 - **접근 경로**: 로그인 후 메인 화면 -#### 주요 기능 +#### 주요 기능 (MVP 스코프 축소 v1.5.0) 1. 빠른 회의 시작 및 예약 2. **예정된/진행중 회의 목록** (upcoming & ongoing meetings) - 예정된 회의 (아직 시작 전) - 진행중 회의 (참여 가능한 회의) -3. **내 Todo 우선순위별 표시** (지연중 → 진행중 → 미진행 → 완료, 최대 5개) -4. **내 회의록** (참여자/생성자로 등록된 최근 3개, 상태 포함) +3. **통계 정보 표시** (예정된 회의, 작성중 회의록) +4. **내 회의록** (참여자/생성자로 등록된 최근 4개, 상태 포함) 5. 전역 검색 +**변경사항 (v1.5.0)**: +- ❌ 제거: "내 Todo" 섹션 및 Todo 관리 메뉴 +- ✅ 추가: "작성중 회의록" 통계 카드 +- ✅ 변경: 네비게이션 간소화 (대시보드, 회의록만 유지) + #### UI 구성요소 **Mobile (320px~768px)** @@ -231,14 +236,15 @@ graph TD - 예정된 회의가 없을 경우: "예정된 회의가 없습니다" - **메인 콘텐츠** (스크롤, padding-bottom: 80px, background: gray-50) - - **통계 카드 컴팩트 배치** (단일 카드) - **개선안 A 적용 (v1.5)** - - 제목: "📊 오늘의 현황" (H5, Semibold) - - 수평 배치 (flex, space-around): - - "📅 예정 {N}" (Icon + Label + Value) - - "✅진행 {N}" (Icon + Label + Value) - - "📈 완료 {N}%" (Icon + Label + Value) - - 높이: ~80px (기존 대비 70% 감소) - - 반응형: 태블릿 이상에서 justify-content: flex-start, gap 증가 + - **통계 카드** (2열 그리드) - **v1.5.0 변경** + - "📅 예정된 회의" 카드 + - 값: 전체 예정 + 진행 중 회의 개수 + - 클릭 액션: 없음 (정보 표시만) + - "📝 작성중 회의록" 카드 + - 값: 내가 참석한 회의 중 '작성중' 상태인 회의록 개수 + - 클릭 액션: 없음 (정보 표시만) + - 높이: ~80px + - 반응형: 태블릿 이상에서 간격 증가 - **최근 회의** 섹션 - 헤더: "예정된 회의" (H4) + "전체 보기 →" 링크 @@ -270,26 +276,9 @@ graph TD - 타이머 표시: "10분 후 참여 가능" (시작 시간까지 남은 시간) - 빈 상태: "예정된 회의가 없습니다" - - **내 Todo** 카드 (개선) - - 헤더: "내 Todo" (H4) + "전체 보기 →" 링크 (Todo 관리 화면으로 이동) - - **통계 요약 영역**: - - 진행 중 개수 배지 - - 마감 임박 개수 (아이콘: schedule, 경고색) - - **Todo 리스트** (우선순위 순, 최대 5개): - 1. 지연 중 (기한 지남, 빨간색) - 2. 진행 중 (상태: in_progress) - 3. 기한이 남은 미진행 (상태: not_started) - 4. 완료 (상태: done, 회색 처리) - - 각 Todo 항목: - - 제목 (Medium weight) - - 메타정보: 담당자, 마감일 - - D-day (색상: 지남-빨강, 오늘-경고, 여유-회색) - - 우선순위 배지 (high-빨강, medium-노랑, low-회색) - - 빈 상태: "할당된 Todo가 없습니다" - - - **내 회의록** 카드 (개선) + - **내 회의록** 카드 - **v1.5.0 변경 (Todo 섹션 제거)** - 헤더: "내 회의록" (H4) + "전체 보기 →" 링크 (회의록 목록 화면으로 이동) - - **최근 회의록 리스트** (최대 3개): + - **최근 회의록 리스트** (최대 4개, 2x2 그리드): - 필터: 내가 참여자 또는 생성자로 등록된 회의록 - 정렬: 최근 생성 순 (createdAt 기준) - 각 항목: @@ -297,14 +286,16 @@ graph TD - 회의 일시 (날짜 + 시간) - 참석자 수 - **상태 배지**: - - "작성중" (draft, 노란색 배지) + - "작성중" (draft, 주황색 배지) - "확정완료" (confirmed, 초록색 배지) - - 최종 수정 시간 (상대 시간: "1시간 전", "어제" 등) + - 검증완료율 표시 (작성중인 경우만) - 클릭 시: 회의록 상세 화면으로 이동 - - 빈 상태: "작성한 회의록이 없습니다. 첫 회의를 시작해보세요!" + - 빈 상태: "참여한 회의록이 없습니다" -**Mobile (320px~768px)** -- **하단 네비게이션**: [Mobile 하단 네비게이션](#mobile-하단-네비게이션-320px768px) 참조 (홈 활성) +**Mobile (320px~768px)** - **v1.5.0 네비게이션 간소화** +- **하단 네비게이션**: 2개 메뉴만 표시 + - 홈 (대시보드) - 활성 상태 + - 회의록 (회의록 목록) **Tablet/Desktop (768px+)** - **좌측 사이드바**: [Desktop 좌측 사이드바](#desktop-좌측-사이드바-768px) 참조 (대시보드 활성) @@ -628,22 +619,27 @@ graph TD #### 개요 - **목적**: 실시간 회의 진행 및 AI 기반 회의록 자동 작성 -- **관련 유저스토리**: 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 +- **관련 유저스토리**: UFR-MEET-030, UFR-STT-010/020, UFR-AI-010, UFR-AI-040, UFR-COLLAB-010, UFR-RAG-010/020, UFR-PART-020, UFR-HOST-010/020, UFR-TERM-010/020 - **비즈니스 중요도**: 높음 (핵심 화면) - **접근 경로**: 대시보드 → "참여하기" 버튼 (페이지 전환) - **권한** (MVP 개선): - **회의 생성자 전용**: 회의 종료, 녹음 제어 (일시정지/재개/종료) - - **모든 참석자**: 회의 참여, AI 주요 내용 체크, 용어 확인, 관련 회의록 확인, 중도 퇴장 + - **모든 참석자**: 회의 참여, AI 기반 메모 작성, 용어 확인, 관련 회의록 확인, 중도 퇴장 -#### 주요 기능 +#### 주요 기능 (MVP 스코프 축소 v1.5.0) 1. 음성 녹음 및 실시간 텍스트 변환 (STT) 2. AI 자동 회의록 작성 (구조화) -3. **AI 기반 주요 메모 항목 실시간 제안** (UFR-MEET-030) +3. **AI 기반 메모 작성** (UFR-PART-020): AI가 실시간으로 감지한 주요 내용을 참석자가 선택하여 개인 메모로 저장 4. 전문용어 자동 감지 및 맥락 기반 설명 5. **참고자료 자동 연결** (이전 회의록, 관련 회의록) 6. 참석자 관리 및 초대 기능 7. 회의 진행 시간 표시 +**변경사항 (v1.5.0)**: +- ✅ 변경: "AI 제안" 탭 → "AI 기반 메모" 탭으로 기능 변경 +- ✅ 추가: 개인 메모 입력 및 저장 기능 (각 참석자별 개별 저장) +- ✅ 정책: 메모는 회의 종료 전까지만 표시/편집 가능, 다른 참석자 메모는 볼 수 없음 + #### UI 구성요소 **전체 레이아웃** @@ -654,7 +650,7 @@ graph TD - **메인 콘텐츠 영역: 정보 패널** (탭 구조) - **탭 네비게이션** (4개 탭) - 참석자 (3명) - - AI 제안 + - AI 기반 메모 - 용어 사전 - 관련 자료 (32건) @@ -676,17 +672,69 @@ graph TD - flex layout, 하단 구분선 (마지막 제외) - 상태 표시 제거됨 (발언 중/온라인 등 표시 안 함) - - **AI 제안 탭** - - 제목: "AI 제안" - - **카드 디자인** (통일된 스타일): - - 배경: 연한 회색 (#FAFAFA) - - 테두리: 회색 점선 (1px dashed #D0D0D0) - - 테두리 둥글기: 8px - - 내부 패딩: 16px - - 카드 간 여백: 16px - - 헤더 폰트: 16px Bold, 민트 그린 (#4DD5A7) - - 본문 폰트: 14px, gray-700 - - 구조: 헤더 + 본문 텍스트 + 액션 버튼 + - **AI 기반 메모 탭** (UFR-PART-020) + - 제목: "AI 기반 메모" + + - **메모 입력 영역** (상단): + - **메모 입력 텍스트박스**: + - placeholder: "메모를 입력하세요..." + - 다중 행 입력 지원 (textarea) + - 배경: 화이트 (#FFFFFF) + - 테두리: 회색 실선 (1px solid #E5E7EB) + - 테두리 둥글기: 8px + - 내부 패딩: 12px + - 최소 높이: 80px + - **저장 버튼**: + - 텍스트: "저장" + - 스타일: btn btn-primary (민트 그린) + - 위치: 메모 입력창 하단 우측 + - 여백: 상단 8px + - **구분선**: + - 메모 입력 영역 하단에 회색 구분선 (1px solid #E5E7EB) + - 상하 여백: 16px + + - **AI가 감지한 주요 내용 영역** (하단): + - **섹션 헤더**: + - 텍스트: "AI가 감지한 주요 내용" + - 폰트: 16px Bold, gray-800 + - 하단 여백: 12px + + - **주요 내용 리스트**: + - **리스트 아이템 디자인**: + - 배경: 연한 회색 (#FAFAFA) + - 테두리: 회색 점선 (1px dashed #D0D0D0) + - 테두리 둥글기: 8px + - 내부 패딩: 12px + - 아이템 간 여백: 8px + - 호버 시: 민트 그린 배경 (#E8F9F3), 커서 포인터 + + - **아이템 구조**: + - 시간 태그 (좌측): + - 형식: "[HH:MM]" + - 폰트: 12px Bold, 민트 그린 (#4DD5A7) + - 배경: 민트 그린 연한 배경 (#E8F9F3) + - 패딩: 4px 8px + - 테두리 둥글기: 4px + - 주요 내용 텍스트 (우측): + - 폰트: 14px, gray-700 + - flex-grow: 1 + - 좌측 여백: 8px + + - **아이템 예시**: + - `[15:32] 예산 책정 관련 결정` + - `[15:35] 다음 회의 일정 합의` + - `[15:38] API 설계 패턴 논의` + - `[15:42] 마이크로서비스 아키텍처 채택` + + - **클릭 인터랙션**: + - 아이템 클릭 시 → 메모 입력창에 "[시간] 내용" 형식으로 자동 추가 + - 기존 메모가 있으면 줄바꿈 후 추가 + - 입력된 메모는 수정 가능 + + - **정책**: + - 각 참석자별로 개별 저장 (다른 참석자의 메모는 볼 수 없음) + - 메모는 회의 종료 전까지만 표시 및 편집 가능 + - 회의 종료 시 AI가 회의록 생성할 때 모든 참석자의 메모 참조 - **용어 사전 탭** - 제목: "용어 사전" @@ -792,15 +840,26 @@ graph TD - 상태 표시 없음 (발언 중/온라인 등 제거) - 참석자 수 동적 업데이트 (초대 성공 시) - - **AI 제안 탭**: AI가 생성한 주요 메모 항목 제안 (UFR-MEET-030) - - **실시간 주요 메모 추천**: + - **AI 기반 메모 탭** (UFR-PART-020): AI가 감지한 주요 내용을 참석자가 선택하여 개인 메모로 저장 + - **메모 작성 및 저장**: + - 메모 입력창에 자유롭게 메모 작성 가능 + - "저장" 버튼 클릭 시 개인 메모로 저장 (각 참석자별 개별 저장) + - 저장 성공 시 "{n}개의 메모가 저장되었습니다" 성공 토스트 + - 저장 실패 시 "메모 저장에 실패했습니다" 오류 토스트 + - **AI가 감지한 주요 내용**: - 음성→텍스트 변환 후 AI가 실시간으로 회의 내용 분석 - - **중요한 내용으로 판단된 경우에만** 주요 메모 항목 제안 - - 논의항목/결정사항 등의 구분 없이 중요 내용을 주요 메모로 제안 - - 추천 빈도는 중요 내용 발생에 따라 가변적 (고정 간격 아님) - - 각 제안 항목에 "주요 메모에 추가" 버튼 제공 - - 클릭 시 해당 안건의 주요 메모에 자동 저장 - - 실시간 업데이트: 새로운 제안은 상단에 표시 + - **중요한 내용으로 판단된 경우에만** 주요 내용 항목 표시 + - 각 항목: "[시간] 주요 내용 텍스트" 형식 (예: "[15:32] 예산 책정 관련 결정") + - 실시간 업데이트: 새로운 항목은 하단에 추가 + - 항목 클릭 시: + 1. 메모 입력창에 "[시간] 내용" 형식으로 자동 추가 + 2. 기존 메모가 있으면 줄바꿈 후 추가 + 3. 입력된 메모는 수정 가능 (자동/수동 구분 표시) + 4. 저장 버튼 활성화 + - **정책**: + - 메모는 회의 종료 전까지만 표시/편집 가능 + - 각 참석자의 메모는 다른 참석자에게 보이지 않음 + - 회의 종료 시 AI가 모든 참석자의 메모를 참조하여 회의록 생성 - **용어 사전 탭**: 회의에서 언급된 전문용어 설명 - **용어 검색 기능**: @@ -840,24 +899,25 @@ graph TD - 참석자 초대 이메일 - **출력**: - 실시간 텍스트 변환 결과 (STT) - - **AI 제안 목록** (주요 메모 항목 제안) + - **AI가 감지한 주요 내용 목록** (시간 + 내용) + - **개인 메모** (각 참석자별 개별 저장) - **전문용어 및 설명** (용어 사전) - **관련 회의록 목록** (32건, 관련도 포함) - 참석자 목록 - **연동**: - STT 서비스 (UFR-AI-010) - - AI 서비스 (주요 메모 제안 생성, UFR-AI-040) + - AI 서비스 (주요 내용 감지, UFR-AI-040) - RAG 서비스 (관련 회의록 검색, 전문용어 자동 감지) - - Collaboration 서비스 (실시간 동기화) + - PARTICIPANT 서비스 (메모 저장, UFR-PART-020) #### 에러 처리 - **마이크 권한 거부**: "마이크 권한이 필요합니다" 토스트 + 설정 안내 링크 - **STT 실패**: "음성 인식에 실패했습니다" 토스트 + 재시도 안내 -- **AI 제안 생성 실패**: "AI 제안을 불러올 수 없습니다" 토스트 +- **AI 주요 내용 감지 실패**: "AI 주요 내용 감지에 실패했습니다" 토스트 (회의 계속 진행 가능) +- **메모 저장 실패**: "메모 저장에 실패했습니다" 토스트 + 재시도 버튼 - **용어 사전 로드 실패**: "용어 사전을 불러올 수 없습니다" 메시지 표시 - **관련 자료 검색 실패**: "관련 회의록을 찾을 수 없습니다" 메시지 표시 - **참석자 초대 실패**: "초대 링크 전송에 실패했습니다" 토스트 + 재시도 버튼 -- **동기화 실패**: "네트워크 연결을 확인해주세요" 토스트 - **회의 종료 실패**: "회의 종료 중 오류가 발생했습니다" 토스트 + 재시도 버튼 --- @@ -1157,27 +1217,34 @@ graph TD #### 개요 - **목적**: 지난 회의록의 전체 내용 및 상세 정보 확인 -- **관련 유저스토리**: UFR-MEET-047, UFR-AI-040 +- **관련 유저스토리**: UFR-MEET-047, UFR-AI-040, UFR-MEET-048 - **비즈니스 중요도**: 중간 -- **접근 경로**: 대시보드 → "내 회의록" 항목 클릭 또는 Todo관리 → 회의록 링크 +- **접근 경로**: 대시보드 → "내 회의록" 항목 클릭 - **권한**: 모든 회의 참석자 (조회 전용) -#### 주요 기능 +#### 주요 기능 (MVP 스코프 축소 v1.5.0) 1. 회의 기본 정보 표시 2. **안건별 AI 요약 표시** (안건 최상단) 3. 안건별 상세 내용 표시 4. **참고자료 표시** (안건 하단) -5. Todo 항목 및 진행 상황 표시 +5. **Todo 단순 조회** (UFR-MEET-047): 제목, 담당자만 표시 (D-day, 우선순위 라벨 제거) 6. 첨부파일 다운로드 7. 회의록 수정/공유 액션 +**변경사항 (v1.5.0)**: +- ❌ 제거: Todo 관리 화면 연동 링크 (화면 자체가 제거됨) +- ❌ 제거: Todo D-day 라벨, 우선순위 배지 표시 +- ✅ 변경: Todo는 단순 조회만 가능 (제목 + 담당자 + 마감일만 표시) +- ✅ 변경: "수정" 버튼을 회의 제목 우측으로 이동 + #### UI 구성요소 **Mobile (320px~768px)** - **헤더** - 뒤로가기 버튼 - 회의 제목 - - 메뉴 버튼 (수정, 삭제) + - "수정" 버튼 (회의 제목 우측, 아이콘 또는 텍스트 버튼) + - 메뉴 버튼 (삭제, 공유 등) - **기본 정보 카드** - 회의 일시 @@ -1221,14 +1288,12 @@ graph TD - 결정사항 카드 리스트 - 각 카드: 결정 내용 + 결정자 + 시간 + 배경 설명 - - **Todo 진행상황 섹션** (📋) - - **전체 진행률 표시**: 상단에 원형 진행 바 (완료 Todo 개수 / 전체 Todo 개수) - - 진행률 퍼센트 중앙 표시 (예: "60%") - - 색상: Primary 색상 (#4DD5A7) - - 크기: 80px (Desktop), 60px (Mobile) - - 상태별 필터 탭 (전체/시작 전/진행 중/완료) - - 담당자별 그룹화 - - 각 Todo: 제목 + 마감일 + 우선순위 배지 (개별 진행률 바 제거) + - **Todo 진행상황 섹션** (📋) - MVP 스코프 축소 + - **단순 조회만 제공** (UFR-MEET-047) + - Todo 리스트: + - 각 Todo: 제목 + 담당자 + 마감일만 표시 + - ❌ 제거: D-day 라벨, 우선순위 배지, 진행률 바, 상태별 필터 + - ❌ 제거: Todo 관리 화면 연동 (클릭 액션 없음) - **참고자료 섹션** (📚) - 참고자료 탭 (관련 회의록/프로젝트 문서/이슈 트래커/위키 페이지) @@ -1237,21 +1302,20 @@ graph TD - 관련도 점수 배지 (92%, 88% 등) - 2-3줄 요약 - - **Todo 섹션** (강조) + - **Todo 섹션** (단순 조회) - MVP 스코프 축소 - Todo 항목 리스트: - - 체크박스 (완료/미완료) - - Todo 내용 + - Todo 내용 (제목) - 담당자 이름 - 마감일 - - 우선순위 배지 + - ❌ 제거: 체크박스, 우선순위 배지, D-day 라벨 - **첨부파일 섹션** - 파일 아이콘 + 파일명 - 다운로드 버튼 -- **하단 액션 바** (Fixed) - - "수정" 버튼 (권한 있는 경우만) +- **하단 액션 바** (Fixed) - MVP 스코프 축소 - "공유" 버튼 + - ❌ 제거: "수정" 버튼 (헤더로 이동) **Tablet/Desktop (768px+)** - **상단**: 탭 네비게이션 @@ -1279,25 +1343,24 @@ graph TD - 관련도 색상 코딩: 90%+ (초록), 70-89% (노랑), 70% 미만 (회색) - "더보기" 클릭 → 전체 참고자료 목록 모달 -3. **대시보드 탭 인터랙션** +3. **대시보드 탭 인터랙션** - MVP 스코프 축소 - **핵심내용 섹션**: - 키워드 태그 클릭 → 해당 키워드 관련 안건으로 스크롤 - 통계 항목 클릭 → 상세 정보 툴팁 표시 - **결정사항 섹션**: - 결정사항 카드 클릭 → 회의록 탭의 해당 안건으로 이동 - 배경 설명 접기/펼치기 - - **Todo 진행상황**: - - 필터 탭 클릭 → 해당 상태의 Todo만 표시 - - Todo 카드 클릭 → Todo관리 화면으로 이동 - - 진행률 바: 실시간 업데이트 + - **Todo 진행상황** (단순 조회만): + - ❌ 제거: 필터 탭, 진행률 바, Todo 관리 화면 연동 + - Todo는 읽기 전용으로만 표시 (클릭 액션 없음) - **참고자료 섹션**: - 탭 전환 (관련 회의록/프로젝트 문서/이슈 트래커/위키 페이지) - 참고자료 카드 클릭 → 해당 문서로 이동 - 관련도 점수: 배지로 표시 (92%, 88% 등) -4. **Todo 인터랙션** - - Todo 체크박스: 완료 처리 (권한 있는 경우) - - Todo 클릭: Todo관리 화면으로 이동 +4. **Todo 인터랙션** - MVP 스코프 축소 + - ❌ 제거: Todo 체크박스, Todo 관리 화면 연동 + - Todo는 단순 조회만 가능 (클릭 액션 없음) 5. **첨부파일 다운로드** - 파일명 클릭: 다운로드 시작 @@ -1342,33 +1405,43 @@ graph TD #### 개요 - **목적**: 지난 회의록 조회 및 수정 -- **관련 유저스토리**: UFR-MEET-055, UFR-AI-040, **UFR-TODO-040 (Todo 수정)** +- **관련 유저스토리**: UFR-MEET-055, UFR-AI-040, UFR-COLLAB-020 - **비즈니스 중요도**: 중간 - **접근 경로**: 10-회의록상세조회 → 하단 액션 바 "수정" 버튼 클릭 - **권한 제어**: - **검증완료 전**: 모든 참석자가 수정 가능 - **검증완료 후**: 회의 생성자만 수정 가능 (참석자는 "수정" 버튼 비활성화) -#### 주요 기능 +#### 주요 기능 (MVP 스코프 축소 v1.5.0) 1. 회의 기본 정보 표시 및 수정 - 회의 제목: 수정 가능 - 회의 일시/장소: 읽기 전용 (회의 예약 화면에서만 변경 가능) - 참석자 관리: 회의 생성자만 추가/삭제 가능 2. **회의록 내용 수정 (안건별)** - 용어 변경: 섹션 → 안건 -3. **AI 한줄 요약 표시 (안건별, UFR-AI-036)** - 신규 +3. **AI 한줄 요약 표시 (안건별, UFR-AI-036)** - 편집 불가능한 AI 한줄 요약 (30자 이내) - 각 안건 최상단에 표시 -4. **AI 상세 요약 수정 (안건별)** - 기존 AI 요약 기능 + - **재생성 제한**: AI 한줄 요약만 재생성 불가 (회의 종료 시 1회만 생성) +4. **AI 상세 요약 수정 (안건별)** + - 직접 수정 가능 + - "AI 재생성" 버튼으로 재생성 가능 (한줄 요약은 재생성 안 됨) 5. **참고자료 편집** (추가/제거) -6. **Todo 수정 (UFR-TODO-040)** - 회의 생성자만 -7. **안건별 검증 (UFR-COLLAB-030)** - 신규 - - 안건별 검증 완료 체크박스 - - 회의 생성자: 잠금 해제 후 수정 가능 - - 참석자: 읽기 전용 +6. **Todo 단순 조회** (제목 + 담당자 + 마감일만 표시) +7. **안건별 검증 완료 체크박스 (UFR-COLLAB-020)** + - 회의 생성자: 검증 완료 체크박스 활성화, 잠금 해제 후 수정 가능 + - 참석자: 검증완료 안건은 읽기 전용 8. 자동 저장 (30초 간격) 9. 수정 이력 관리 10. 상태 변경 (검증완료 → 작성중으로 자동 변경) +**변경사항 (v1.5.0)**: +- ❌ 제거: 실시간 협업 표시 ("편집 중" 표시 제거) +- ❌ 제거: Todo 편집 기능 (체크박스, 담당자/마감일/우선순위 변경, 추가/삭제) +- ❌ 제거: 검증률 표시 및 최종 확정 버튼 +- ✅ 변경: 안건별 검증 완료 체크박스로 충돌 방지 +- ✅ 변경: AI 한줄 요약 재생성 불가 (회의 종료 시 1회만 생성) +- ✅ 정책: Last Write Wins (마지막 저장 우선) 적용 + #### UI 구성요소 **Mobile (320px~768px)** @@ -1389,23 +1462,22 @@ graph TD - "참석자 추가" 버튼 (이메일 입력 + 초대) - 회의록 상태 배지 (자동 관리) -- **편집 화면** +- **편집 화면** (MVP 스코프 축소) - **안건별 편집 영역** (용어 변경: 섹션 → 안건) - 각 안건: - **안건 헤더** - 안건 제목 (H4, Bold) - 검증 상태 배지 (검증완료/미검증) - - 편집 중 표시 (동시 편집 시) - - 다른 사용자 아바타 + 이름 - - 예: "김민준님 편집 중" (아이콘 + 텍스트) - - **AI 한줄 요약** (편집 불가, UFR-AI-036) - 신규 + - ❌ 제거: "편집 중" 표시 (실시간 협업 기능 제거) + - **AI 한줄 요약** (편집 불가, UFR-AI-036) - 🔒 아이콘 + 30자 이내 한줄 요약 - 읽기 전용 (회색 배경, 민트 그린 좌측 액센트 라인) - 호버 시: "이 내용은 편집할 수 없습니다" 툴팁 + - ❌ 제거: "AI 재생성" 버튼 (한줄 요약은 회의 종료 시 1회만 생성) - **AI 상세 요약 편집 영역** - - 💡 "AI 상세 요약" 레이블 (명칭 변경) + - 💡 "AI 상세 요약" 레이블 - 요약 텍스트 편집 필드 (textarea) - - "AI 재생성" 버튼 (요약 다시 생성) + - "AI 재생성" 버튼 (상세 요약만 재생성 가능) - 마지막 수정 시간 표시 - 편집 가능한 텍스트 영역 - 논의 주제 @@ -1416,18 +1488,14 @@ graph TD - 기존 참고자료 목록 (제거 버튼 포함) - "참고자료 추가" 버튼 - 회의록 검색 및 선택 UI - - **Todo 섹션 편집 영역** (회의 생성자만) - - Todo 목록 표시 + - **Todo 섹션 단순 조회** (편집 불가) + - Todo 목록 표시 (읽기 전용) - 각 Todo 항목: - - 체크박스 (완료 상태) - Todo 제목 - - 담당자 (변경 가능) - - 마감일 (변경 가능) - - 우선순위 (변경 가능) - - "편집" 버튼 (인라인 편집 활성화) - - "삭제" 버튼 - - "Todo 추가" 버튼 - - **안건별 검증 영역** (UFR-COLLAB-030) - 신규 + - 담당자 + - 마감일 + - ❌ 제거: 체크박스, 우선순위 배지, D-day 라벨, 편집/삭제 버튼 + - **안건별 검증 영역** (UFR-COLLAB-020) - **회의 생성자 화면**: - 검증 완료 체크박스 (활성화) - "잠금 해제" 버튼 (검증완료 안건만 표시) @@ -1456,38 +1524,36 @@ graph TD - 자동 저장: 30초 간격, 인디케이터 표시 - 수동 저장: "저장" 버튼 클릭 -3. **AI 한줄 요약 확인 (UFR-AI-036)** - 신규 +3. **AI 한줄 요약 확인 (UFR-AI-036)** - MVP 스코프 축소 - **읽기 전용 표시**: - 🔒 아이콘으로 편집 불가 명시 - 회색 배경 + 민트 그린 좌측 액센트 라인 - **호버 인터랙션**: - - 툴팁 표시: "이 내용은 편집할 수 없습니다" + - 툴팁 표시: "이 내용은 편집할 수 없습니다. 회의 종료 시 1회만 생성됩니다." - **위치**: 각 안건 최상단 (안건 제목 바로 아래) + - ❌ 제거: "AI 재생성" 버튼 (한줄 요약은 회의 종료 시 1회만 생성) -4. **AI 상세 요약 편집** +4. **AI 상세 요약 편집** - MVP 스코프 축소 - 요약 텍스트 필드 클릭: 직접 수정 가능 - "AI 재생성" 버튼 클릭: - - 현재 안건 내용 기반으로 상세 요약 재생성 + - 현재 안건 내용 기반으로 **상세 요약만** 재생성 (한줄 요약 제외) - 로딩 인디케이터 표시 - 생성 완료 시 자동 업데이트 - 자동 저장 (30초 간격) -5. **안건별 검증 (UFR-COLLAB-030)** - 신규 +5. **안건별 검증 완료 체크박스 (UFR-COLLAB-020)** - MVP 스코프 축소 - **회의 생성자 권한**: - 검증 완료 체크박스 클릭: - 체크: 안건 검증 완료 처리 (배지 "검증완료"로 변경) - 언체크: 미검증 상태로 변경 - "잠금 해제" 버튼 클릭 (검증완료 안건만 표시): - 확인 다이얼로그: "이 안건의 잠금을 해제하시겠습니까?" - - 확인 시: 안건 편집 가능 상태로 변경 + - 확인 시: 안건 검증 완료 체크 해제 → 편집 가능 상태로 변경 - **참석자 화면**: - 검증완료 안건: 🔒 "읽기 전용" 배지 표시 - 안내 텍스트: "(잠금됨 · 회의 생성자만 수정 가능)" - 모든 입력 필드 비활성화 (disabled) - - **검증률 계산 및 표시**: - - 검증률 = 검증 완료된 안건 수 / 전체 안건 수 - - 헤더에 검증률 표시 (예: "검증률: 70% (7/10)") - - 모든 안건 검증 완료 시 "최종 확정" 버튼 활성화 + - ❌ 제거: 검증률 계산 및 표시, "최종 확정" 버튼 6. **참고자료 편집** - "참고자료 추가" 버튼 클릭: @@ -1497,98 +1563,72 @@ graph TD - 제거 버튼 (X): 참고자료 목록에서 제거 - 순서 변경: 드래그하여 순서 조정 (선택) -7. **Todo 섹션 편집 (UFR-TODO-040)** (회의 생성자만) - - **권한 제어**: - - 회의 생성자만 Todo 섹션 편집 가능 - - 일반 참석자는 조회만 가능 (편집 버튼 숨김) - - **편집 버튼 클릭**: - - 인라인 편집 모드 활성화 - - **수정 가능 항목** (회의 생성자 권한): - - ✏️ Todo 제목 - - 👤 담당자 (드롭다운 선택, 참석자 목록) - - 📅 마감일 (날짜 선택기) - - 🎯 우선순위 (high/medium/low) - - "저장" 버튼: 수정 완료 - - "취소" 버튼: 편집 모드 취소 - - **수정 완료 시**: - - "Todo가 수정되었습니다" 토스트 메시지 - - 회의록 자동 저장 - - 담당자 변경 시: 이전/새 담당자에게 알림 발송 - - 마감일 변경 시: 캘린더 자동 업데이트 - - **Todo 추가**: - - "Todo 추가" 버튼 클릭 - - Todo 정보 입력 모달 (제목, 담당자, 마감일, 우선순위) - - 저장 시 Todo 목록에 추가 - - **Todo 삭제**: - - "삭제" 버튼 클릭 - - 확인 다이얼로그 ("삭제하시겠습니까?") - - 삭제 시 Todo 목록에서 제거 - - 담당자에게 삭제 알림 발송 +7. **Todo 섹션 단순 조회** - MVP 스코프 축소 + - ❌ 제거: Todo 편집/추가/삭제 기능 전체 제거 + - Todo는 읽기 전용으로만 표시 (제목 + 담당자 + 마감일) + - 모든 사용자 (생성자 포함)에게 조회만 가능 -8. **상태 변경** +8. **상태 변경** - MVP 스코프 축소 - 확정완료 회의록 수정 시: 자동으로 "작성중" 상태로 변경 - - 모든 안건 검증 완료 시: "확정완료"로 변경 제안 + - ❌ 제거: "확정완료"로 변경 제안 (검증률 기능 제거로 인해) +9. **저장 로직** - MVP 스코프 축소 + - **"저장" 버튼 클릭 시**: + - 검증완료된 안건: 저장 스킵 + - 미검증 안건: 저장 진행 + - **저장 결과 알림**: + - "N개 안건이 저장되었습니다" + - "M개 안건은 검증완료 상태로 저장되지 않았습니다" + - 저장 불가 안건 목록 표시 + - **자동 저장** (30초 간격): + - 미검증 안건만 자동 저장 + - 검증완료 안건은 자동 저장 스킵 -9. **안건 기반 충돌 해결 (UFR-COLLAB-020)** +10. **안건 기반 충돌 해결 (UFR-COLLAB-020)** - MVP 스코프 축소 - **안건 기반 충돌 방지 메커니즘**: - **다른 안건 동시 편집**: 충돌 없음 - - 참석자 A가 안건 1 편집 중 + - 참석자 A가 안건 1 편집 - 참석자 B가 안건 2 편집 가능 - - 양쪽 모두 정상 저장 및 동기화 + - 양쪽 모두 정상 저장 - - **동일 안건 내 다른 필드 편집**: 자동 병합 - - 참석자 A가 안건 1의 "상세 요약" 편집 - - 참석자 B가 안건 1의 "관련회의록" 편집 - - 양쪽 변경 사항 자동 병합 + - **동일 안건 검증 완료 체크로 충돌 방지**: + - 검증완료된 안건: 편집 불가 (회의 생성자만 잠금 해제 가능) + - 미검증 안건: Last Write Wins (마지막 저장 우선) - **동일 필드 동시 수정**: Last Write Wins - 마지막에 저장된 변경 사항이 적용 - - 덮어쓰기 경고: "다른 사용자가 이미 수정했습니다. 최신 내용을 확인하세요" - - 선택 옵션: 최신 내용 확인 / 내 변경 사항 유지 + - 별도 경고 없이 덮어쓰기 - - **편집 중 표시**: - - 다른 사용자가 편집 중인 안건 표시 - - 편집자 아바타 + 이름 실시간 표시 - - 예: "김민준님이 이 안건을 편집 중입니다" + 아바타 - - 편집 시작 시 해당 안건에 브로드캐스트 - - 편집 종료 시 표시 제거 + - ❌ 제거: 실시간 "편집 중" 표시 + - ❌ 제거: 충돌 경고 모달 및 선택 옵션 - - **충돌 경고 모달**: - - 제목: "동시 수정 감지" - - 메시지: "다른 사용자가 이미 이 내용을 수정했습니다" - - 옵션 버튼: - - "최신 내용 보기" (Primary): 다른 사용자 변경사항 로드 - - "내 변경사항 유지" (Secondary): 현재 내용 유지 (덮어쓰기) - -#### 데이터 요구사항 +#### 데이터 요구사항 (MVP 스코프 축소) - **입력**: - 회의록 ID (조회) - 수정 내용 (안건 ID, 내용) - 용어 변경: 섹션 → 안건 - - **AI 한줄 요약** (읽기 전용, 입력 불가) - 신규 + - **AI 한줄 요약** (읽기 전용, 입력 불가) - **AI 상세 요약 수정** (안건 ID, 요약 내용) - **참고자료 변경** (추가/제거할 회의록 ID) - - **안건별 검증 상태** (안건 ID, 검증 여부) - 신규 + - **안건별 검증 상태** (안건 ID, 검증 여부) - **출력**: - 회의록 목록 (필터/정렬/검색 결과) - 수정 결과 (성공/실패) - - **AI 한줄 요약** (회의 종료 시 생성, 편집 불가) - 신규 - - **AI 상세 요약 재생성 결과** + - **AI 한줄 요약** (회의 종료 시 생성, 편집 불가) + - **AI 상세 요약 재생성 결과** (한줄 요약 제외) - 수정 이력 (누가, 언제, 무엇을) - - **검증률** (검증 완료된 안건 수 / 전체 안건 수) - 신규 -- **연동**: Meeting 서비스, AI 서비스 (UFR-AI-010, UFR-AI-036, UFR-AI-040), Collaboration 서비스 (UFR-COLLAB-030) + - ❌ 제거: 검증률 출력 +- **연동**: Meeting 서비스, AI 서비스 (UFR-AI-010, UFR-AI-036, UFR-AI-040), PARTICIPANT 서비스 (UFR-COLLAB-020) -#### 에러 처리 +#### 에러 처리 (MVP 스코프 축소) - **권한 없음**: "본인이 작성한 회의록만 수정할 수 있습니다" - **자동 저장 실패**: "네트워크 연결을 확인해주세요. 로컬에 임시 저장됩니다" - **AI 요약 재생성 실패**: "요약 생성에 실패했습니다. 수동으로 작성해주세요" - **참고자료 검색 실패**: "회의록을 검색할 수 없습니다" -- **충돌 발생**: - - 안건 기반 충돌 방지로 최소화 - - 동일 필드 동시 수정 시: "다른 사용자가 이미 수정했습니다" 경고 모달 - - 선택 옵션: 최신 내용 확인 / 내 변경사항 유지 - - 병합 실패 시: "병합 중 오류가 발생했습니다" 에러 메시지 +- **검증완료 안건 저장 시도**: + - 저장 결과 알림: "N개 안건이 저장되었습니다. M개 안건은 검증완료 상태로 저장되지 않았습니다" + - 저장 불가 안건 목록 표시 - **삭제 실패**: "회의록 삭제에 실패했습니다" +- ❌ 제거: 충돌 경고 모달 (Last Write Wins 적용으로 인해) --- @@ -2068,6 +2108,7 @@ graph TD | 버전 | 날짜 | 작성자 | 변경 내용 | |------|------|--------|----------| +| 1.5.1 | 2025-10-27 | 강지수 | MVP 스코프 축소 v2.4.0 반영 (3개 화면 수정)
- **05-회의진행**: "AI 제안" 탭 → "AI 기반 메모" 탭 기능 변경
- 메모 입력창 + 저장 버튼 추가
- AI가 감지한 주요 내용 리스트 표시 (시간 + 내용)
- 각 참석자별 개별 저장, 다른 참석자 메모 볼 수 없음
- 메모는 회의 종료 전까지만 표시/편집 가능
- 에러 처리: AI 주요 내용 감지 실패, 메모 저장 실패 추가
- **10-회의록상세조회**: Todo 단순 조회 기능으로 변경
- Todo는 제목 + 담당자 + 마감일만 표시
- D-day 라벨, 우선순위 배지, 진행률 바, 상태별 필터 제거
- Todo 관리 화면 연동 링크 제거 (화면 자체가 제거됨)
- "수정" 버튼을 헤더로 이동
- **11-회의록수정**: 실시간 협업 기능 제거, 안건 기반 충돌 방지 강화
- "편집 중" 표시 제거 (실시간 협업 기능 제거)
- Todo 편집/추가/삭제 기능 전체 제거 (단순 조회만 가능)
- AI 한줄 요약 재생성 불가 (회의 종료 시 1회만 생성)
- 검증률 표시 및 최종 확정 버튼 제거
- 저장 로직 추가: 검증완료 안건 저장 스킵, 저장 결과 알림
- 안건별 검증 완료 체크박스로 충돌 방지 (Last Write Wins 적용)
- 에러 처리: 충돌 경고 모달 제거 (LWW로 인해) | | 1.4.20 | 2025-10-25 | 이미준, 강지수 | 유저스토리 v2.3.0 반영
- 회의 종료 화면 정책 명확화 (확인 전용, 바로 최종 확정 옵션 상세화)
- UFR-MEET-050: 최종 확정 2가지 시나리오 설명 추가
- UFR-COLLAB-020: 안건 기반 충돌 해결 메커니즘 상세 추가
- 실시간 협업 충돌 방지 정책 강화 | | 1.0 | 2025-10-21 | 이미준 | 최초 작성 - 11개 화면 설계 완료 | | 1.1 | 2025-10-21 | 이미준 | AI 요약 및 참고자료 기능 추가
- 05-회의진행: AI 회의 내용 요약 자동 생성 및 참고자료 자동 연결 추가
- 10-회의록상세조회: 섹션별 AI 요약 표시 및 참고자료 영역 추가
- 11-회의록수정: AI 요약 수정 및 참고자료 편집 기능 추가
- 관련 유저스토리: UFR-AI-040 (관련 회의록 자동 연결) | diff --git a/design/userstory.md b/design/userstory.md index 85daa61..f38f6ce 100644 --- a/design/userstory.md +++ b/design/userstory.md @@ -135,25 +135,23 @@ 2. 회의 제목 입력 (최대 100자) 3. 날짜 선택 (오늘 이후 날짜, 달력 UI) 4. 시작/종료 시간 선택 (15분 단위 커스텀 시간 선택기) -5. (선택) 종일 회의 토글 활성화 시 시간 입력 비활성화 -6. 온라인/오프라인 회의 선택 (토글) -7. 장소 입력 (최대 200자) +5. 온라인/오프라인 회의 선택 (토글) +6. 장소 입력 (최대 200자) - 오프라인: 예) 본사 2층 대회의실 - 온라인: 예) Zoom, Google Meet + 회의 링크 입력 또는 자동 생성 -8. 참석자 추가 (현재 사용자는 기본 포함) +7. 참석자 추가 (현재 사용자는 기본 포함) - "참석자 추가" 버튼 클릭 - 검색 모달에서 이름 또는 이메일로 검색 - 사용자 선택하여 추가 - 칩으로 표시, X 버튼으로 제거 가능 (본인 제외) -9. (선택) 안건 입력 (텍스트 영역) -10. "임시저장" 버튼 또는 "예약 완료" 버튼 클릭 +8. (선택) 안건 입력 (텍스트 영역) +9. "임시저장" 버튼 또는 "예약 완료" 버튼 클릭 **입력:** - 회의 제목: 텍스트 입력, 필수, 최대 100자, 문자 카운터 표시 - 날짜: date 타입, 필수, 오늘 이후 날짜만 선택 가능, 달력 아이콘(📅) 표시 - 시작 시간: 커스텀 시간 선택기 (readonly), 필수, 15분 단위 (00, 15, 30, 45) - 종료 시간: 커스텀 시간 선택기 (readonly), 필수, 15분 단위 -- 종일 회의: 토글 스위치 (선택) - 온라인 회의: 토글 스위치 (선택) - 장소: 텍스트 입력, 선택, 최대 200자, 문자 카운터 표시 - 회의 링크: URL 입력, 선택, 온라인 회의인 경우에만 표시, "자동 생성" 버튼 제공 @@ -218,15 +216,18 @@ ### UFR-MEET-020: [템플릿선택] 회의 생성자로서 | 나는, 회의록을 효율적으로 작성하기 위해 | 회의 유형에 맞는 템플릿을 선택하고 싶다. +**템플릿선택 진입 경로:** +- **경로 1**: 대시보드(02-대시보드.html) → "바로시작" FAB 버튼 → 템플릿 선택(04-템플릿선택.html) +- **경로 2**: 회의예약 (03-회의예약.html) → 템플릿 선택(04-템플릿선택.html) +- **수행절차:** -1. 대시보드에서 "바로시작" FAB 버튼 클릭 -2. 템플릿 선택 화면(04-템플릿선택.html) 표시 -3. 4가지 템플릿 중 선택 또는 "건너뛰기" 선택 +1. 위 경로 중 하나를 통해 템플릿 선택 화면(04-템플릿선택.html) 진입 +2. 4가지 템플릿 중 선택 또는 "건너뛰기" 선택 - 일반 회의: 회의 개요, 논의 사항, 결정 사항, 액션 아이템 - 스크럼 회의: 어제 한 일, 오늘 할 일, 블로커/이슈 - 킥오프 회의: 프로젝트 개요, 목표 및 범위, 역할 및 책임, 일정 및 마일스톤 - 주간 회의: 지난주 성과, 이번주 계획, 주요 이슈, 다음 액션 -4. 선택 완료 시 회의 시작 (05-회의진행.html로 이동) +3. 선택 완료 시 회의 시작 (05-회의진행.html로 이동) **입력:** - 템플릿 선택: 4가지 중 1개 선택 또는 건너뛰기 @@ -242,6 +243,7 @@ **관련 유저스토리:** - UFR-USER-020: 대시보드 조회 +- UFR-MEET-010: 회의예약 - UFR-MEET-030: 회의시작 --- @@ -260,11 +262,14 @@ 5. 웨이브폼 애니메이션 표시 (녹음 상태 시각화) 6. 탭 네비게이션으로 기능 전환: - 참석자: 참석자 목록 및 실시간 초대 - - AI 제안: 실시간 AI 분석 결과 및 메모 추가 - - 용어사전: 자동 추출된 용어 및 검색 - - 관련회의록: 자동 연결된 이전 회의록 -7. 회의 메모 작성 (하단 고정 메모 영역) -8. 일시정지 또는 회의 종료 버튼 클릭 + - AI 제안: 실시간 AI 분석 결과 및 개인 메모 작성 + - AI가 인식한 주요 내용 표시 + - 참석자별 개인 메모 작성 영역 (수동 저장만 지원) + - 용어사전: 실시간 AI 자동 인식된 용어 및 검색 + - 관련회의록: 실시간 AI 자동 연결된 이전 회의록 +7. 하단 고정 버튼 (역할별 차별화) + - 회의 생성자: [일시정지/녹음재개] + [회의 종료] + - 회의 참석자: [회의 나가기] **입력:** - 녹음 시작/일시정지: 버튼 클릭 @@ -275,16 +280,22 @@ - 헤더: 회의 제목, 녹음 상태 (녹음 중/일시정지), 경과 시간 - 웨이브폼 애니메이션: 녹음 상태 시각화 - 참석자 탭: 참석자 목록, 초대 버튼 -- AI 제안 탭: AI 분석 카드, "메모에 추가" 버튼 +- AI 제안 탭: + - AI가 인식한 주요 내용 리스트 + - 개인 메모 작성 영역 (참석자별 독립) + - 저장 버튼 (수동 저장만) - 용어사전 탭: 자동 추출된 용어, 검색 기능 - 관련회의록 탭: 자동 연결된 이전 회의록 목록 -- 하단 고정 버튼: 일시정지, 회의 종료 +- 하단 고정 버튼: + - 회의 생성자: [일시정지/녹음재개] + [회의 종료] + - 회의 참석자: [회의 나가기] **예외처리:** - 녹음 권한 없음: "마이크 권한이 필요합니다" 에러 메시지 - 네트워크 오류: "녹음 중 오류가 발생했습니다" 에러 메시지 - 일시정지 확인: "일시정지하시겠습니까?" 확인 모달 -- 종료 확인: "회의를 종료하시겠습니까?" 확인 모달 +- 회의 종료 확인 (생성자): "회의를 종료하시겠습니까? 모든 참석자의 회의가 종료됩니다" 확인 모달 +- 회의 나가기 확인 (참석자): "회의에서 나가시겠습니까? 저장하지 않은 메모는 삭제됩니다" 확인 모달 **관련 유저스토리:** - UFR-MEET-020: 템플릿선택 @@ -1395,7 +1406,7 @@ | 버전 | 날짜 | 작성자 | 변경 내용 | |------|------|--------|-----------| -| v2.4.0 | 2025-10-27 | 팀 전체 | • MVP 스코프 축소: Todo 관리 기능 제거
• UFR-USER-020 수정: 대시보드에서 "나의 Todo" 제거, "작성중 회의록" 추가
• UFR-PART-020 변경: AI주요내용체크 → AI기반메모작성 (메모 입력창 + AI 추천)
• UFR-AI-010 개선: 회의록 생성 시 참석자 메모 참조
• UFR-MEET-055 개선: 회의록 수정 시 실시간 협업 제거, 검증완료 체크로 보호
• TODO 서비스 전체 제거 (UFR-TODO-010/030/040)
• NOTIFICATION 서비스: Todo 관련 알림 제거
• 네비게이션 간소화: Todo 관리 메뉴 제거 (대시보드, 회의록만 유지) | +| v2.4.0 | 2025-10-27 | 팀 전체 | • MVP 스코프 축소: Todo 관리 기능 제거
• UFR-USER-020 수정: 대시보드에서 "나의 Todo" 제거, "작성중 회의록" 추가
• UFR-PART-020 변경: AI주요내용체크 → AI기반메모작성 (메모 입력창 + AI 추천)
• UFR-AI-010 개선: 회의록 생성 시 참석자 메모 참조
• UFR-MEET-055 개선: 회의록 수정 시 실시간 협업 제거, 검증완료 체크로 보호
• TODO 서비스 전체 제거 (UFR-TODO-010/030/040)
• NOTIFICATION 서비스: Todo 관련 알림 제거
• 네비게이션 간소화: Todo 관리 메뉴 제거 (대시보드, 회의록만 유지)
• UFR-MEET-030 개선: AI 제안 탭 내 개인 메모 작성 기능 명확화 (수동 저장만), 하단 고정 버튼 역할별 차별화 (생성자: 일시정지/재개+종료, 참석자: 나가기) | | v2.3.1 | 2025-10-27 | 팀 전체 | • MVP 개선: 회의 참석자 권한 단순화
• 신규 유저스토리: UFR-PART-010/020/030 (참석자 공통), UFR-HOST-010/020 (생성자 전용)
• 신규 유저스토리: UFR-TERM-010/020/030 (용어 기능 MVP 단순화)
• UFR-MEET-040 수정: 회의 종료 권한 생성자 전용으로 명확화
• UFR-MEET-030 개선: 회의 진입 경로 2가지 명시 (바로시작, 참여하기)
• UFR-AI-040 개선: 관련 회의록 유사 내용 요약 추가 (최대 3개, 퍼센트 표시, 3-5문장 요약)
• 메모 기능 단순화: 체크박스 방식으로 변경
• 용어 설명 단순화: JSON 용어 사전 방식 도입 | | v2.3.0 | 2025-10-24 | 이미준 | • 프로토타입 분석을 통한 유저스토리 전면 재정비
• 신규 유저스토리 추가: UFR-MEET-015 (참석자 실시간 초대), UFR-NOTI-010 (알림 발송)
• 알림 아키텍처 폴링 방식으로 통일 (실시간 발송 → 주기적 폴링)
• 10개 프로토타입 화면 반영 완료
• 마이크로서비스 구성 재정의 (User, Meeting, STT, AI, Notification)
• 기존 24개 유저스토리 ID 승계 및 정리 | | v2.2.0 | 2025-10-23 | 이미준 | 이전 버전 |