hgzero/design/userstory.md
yabo0812 c1ac9f1728 유저스토리 v2.1.3 업데이트 - 회의록 목록 생성자 표시 기능 추가
UI/UX 설계 및 프로토타입 개선
- 회의록 목록 조회 화면에 생성자 표시 (👑 아이콘) 추가
- 스타일 가이드에 creator-badge 스타일 정의 추가
- 프로토타입 12-회의록목록조회.html 및 common.css 업데이트

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-24 15:36:06 +09:00

1274 lines
58 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# AI기반 회의록 작성 및 이력 관리 개선 서비스 - 유저스토리 (v2.1.2)
- [AI기반 회의록 작성 및 이력 관리 개선 서비스 - 유저스토리 (v2.1.2)](#ai기반-회의록-작성-및-이력-관리-개선-서비스---유저스토리-v212)
- [차별화 전략](#차별화-전략)
- [1. 기본 기능 (Hygiene Factors)](#1-기본-기능-hygiene-factors)
- [2. 핵심 차별화 포인트 (Differentiators)](#2-핵심-차별화-포인트-differentiators)
- [마이크로서비스 구성](#마이크로서비스-구성)
- [유저스토리](#유저스토리)
- [논리 아키텍처 반영 사항 요약](#논리-아키텍처-반영-사항-요약)
- [1. 마이크로서비스 구성 변경 (v2.0)](#1-마이크로서비스-구성-변경-v20)
- [2. 주요 변경사항](#2-주요-변경사항)
- [2.1 User Service 역할 변경](#21-user-service-역할-변경)
- [2.2 Meeting Service 통합](#22-meeting-service-통합)
- [2.3 AI Service 통합](#23-ai-service-통합)
- [3. 유저스토리 영향도](#3-유저스토리-영향도)
- [3.1 변경 없음](#31-변경-없음)
- [3.2 서비스 통합에 따른 변경](#32-서비스-통합에-따른-변경)
- [3.3 기능적 변경](#33-기능적-변경)
- [4. 성능 개선 효과](#4-성능-개선-효과)
- [5. 차별화 전략 유지](#5-차별화-전략-유지)
- [문서 이력](#문서-이력)
---
## 차별화 전략
본 서비스는 다음과 같은 차별화 포인트를 통해 경쟁 우위를 확보합니다:
### 1. 기본 기능 (Hygiene Factors)
- **STT(Speech To Text)**: 음성을 텍스트로 변환하는 기본 기능
- 시장의 대부분 서비스가 제공하는 기능으로 차별화 포인트가 아님
- 필수 기능이지만 경쟁 우위를 가져다주지 않음
### 2. 핵심 차별화 포인트 (Differentiators)
- **맥락 기반 용어 설명**: 단순 용어 설명을 넘어, 관련 회의록과 업무이력을 바탕으로 실용적인 정보 제공
- **강화된 Todo 연결**: Action item이 담당자의 Todo와 실시간으로 연결되고, 진행 상황이 회의록에 자동 반영
- **섹션 AI 요약 재생성**: 버튼 클릭으로 작성한 섹션 내용을 AI가 요약 (2-3문장, 2-5초 처리)
- **지능형 회의 진행 지원**: 회의 패턴 분석을 통한 안건 추천, 효율성 분석 및 개선 제안
---
## 마이크로서비스 구성
1. **User** - 사용자 인증 (LDAP 연동, JWT 토큰 발급/검증)
2. **Meeting** - 회의, 회의록, Todo, 실시간 협업 통합 관리
- 회의 관리: 회의 예약, 시작, 종료
- 회의록 관리: 회의록 생성, 수정, 확정
- Todo 관리: Todo 할당, 진행 상황 추적, 회의록 양방향 연결
- 실시간 협업: WebSocket 기반 실시간 동기화, 버전 관리, 충돌 해결
- 템플릿 관리: 회의록 템플릿 관리
- 통계 생성: 회의 및 Todo 통계
3. **STT** - 음성 스트리밍 처리, 실시간 음성-텍스트 변환 (기본 기능)
4. **AI** - AI 기반 회의록 자동화, Todo 추출, 지능형 검색 (RAG 통합)
- LLM 기반 회의록 자동 작성
- Todo 자동 추출 및 담당자 식별
- 섹션 AI 요약 재생성 (버튼 클릭 시 요약 생성)
- 관련 회의록 자동 연결 (벡터 유사도 검색)
- 전문용어 자동 감지 및 맥락 기반 설명 생성 (RAG)
- 과거 회의록 및 사내 문서 검색
- 업무 이력 통합
5. **Notification** - 알림 발송 및 리마인더 관리
---
## 유저스토리
```
1. User 서비스
1) 사용자 인증 관리
AFR-USER-010: [사용자관리] 시스템 관리자로서 | 나는, 서비스 보안을 위해 | 사용자 인증 기능을 원한다.
- 시나리오: 사용자 인증 관리
사용자가 로그인을 시도한 상황에서 | 사번과 비밀번호를 입력하면 | LDAP 연동을 통해 인증이 완료되고 권한에 따라 서비스에 접근할 수 있다.
- [ ] 사용자 인증 (사번, 비밀번호)
- [ ] 세션 관리
- M/8
---
AFR-USER-020: [대시보드] 사용자로서 | 나는, 회의록 서비스의 주요 정보를 한눈에 파악하기 위해 | 대시보드를 통해 요약 정보를 확인하고 싶다.
- 시나리오: 대시보드 조회
로그인 후 대시보드에 접근하면 | 예정된 회의, 진행 중 Todo, 최근 회의록 등 주요 정보가 표시되고 | 플로팅 액션 버튼을 통해 새 회의를 시작하거나 예약할 수 있다.
**변경사항 (논리 아키텍처)**:
- 프론트엔드가 Meeting Service에 직접 API 요청하여 회의, Todo, 회의록 정보 조회
- User Service는 인증만 담당 (JWT 토큰 검증)
- 모든 API 요청에 사용자 정보(userId, userName, email) 포함
[대시보드 주요 위젯]
- 사용자 인사말 (이름 표시)
- 통계 카드:
- 예정된 회의 개수
- 진행 중 Todo 개수
- Todo 완료율 (%)
- 최근 회의 섹션:
- 회의 제목
- 회의 일시
- 회의 장소
- 참석자 수
- 회의 상태 (진행중/예정/확정완료)
- 참여하기/보기 버튼
- 전체 보기 링크 (회의록 목록으로 이동)
- 할당된 Todo 섹션:
- Todo 목록 (최대 3개)
- 전체 보기 링크 (Todo 관리로 이동)
- Todo 없을 시 안내 메시지
- 내 회의록 섹션:
- 작성한 회의록 목록 (최대 3개)
- 전체 보기 링크
- 회의록 없을 시 안내 메시지
[플로팅 액션 버튼 (FAB)]
- 메인 FAB 버튼 (+)
- 클릭 시 확장 메뉴 표시:
- 🚀 새 회의 시작
- 📅 회의 예약
- 우측 하단 고정 위치
[네비게이션]
- 좌측 사이드바 (데스크톱):
- 로고 및 서비스명
- 📊 대시보드
- 📋 회의 목록
- ✅ Todo 관리
- 사용자 프로필 (이름, 이메일)
- 하단 탭 바 (모바일):
- 🏠 홈
- 📋 회의록
- ✅ Todo
[처리 결과]
- 사용자별 맞춤 대시보드 표시
- 실시간 통계 업데이트
- 반응형 레이아웃 (모바일/태블릿/데스크톱)
- M/8
---
2. Meeting 서비스 (회의, 회의록, Todo, 실시간 협업 통합)
1) 회의 준비 및 관리
UFR-MEET-010: [회의예약] 회의 생성자로서 | 나는, 회의를 효율적으로 준비하기 위해 | 회의를 예약하고 참석자를 초대하고 싶다.
- 시나리오: 회의 예약 및 참석자 초대
회의 예약 화면에 접근한 상황에서 | 회의 제목, 날짜/시간, 장소, 참석자 목록을 입력하고 예약 버튼을 클릭하면 | 회의가 예약되고 참석자에게 초대 이메일이 자동 발송된다.
[입력 요구사항]
- 회의 제목: 최대 100자 (필수)
- 날짜/시간: 날짜 및 시간 선택 (필수)
- 장소: 최대 200자 (선택)
- 참석자 목록: 이메일 주소 입력 (최소 1명 필수)
[처리 결과]
- 회의가 예약됨 (회의 ID 생성)
- 일정이 캘린더에 자동 등록됨
- 참석자에게 초대 이메일 발송됨
- 회의 시작 30분 전 리마인더 자동 발송
- M/13
---
UFR-MEET-020: [템플릿선택] 회의 생성자로서 | 나는, 회의록을 효율적으로 작성하기 위해 | 회의 유형에 맞는 템플릿을 선택하고 싶다.
- 시나리오: 회의록 템플릿 선택
회의 시작 전 템플릿 선택 화면에 접근한 상황에서 | 제공되는 템플릿 중 하나를 선택하고 커스터마이징하면 | 회의록 도구가 준비된다.
[템플릿 유형]
- 일반 회의: 기본 구조 (참석자, 안건, 논의 내용, 결정 사항, Todo)
- 스크럼 회의: 어제 한 일, 오늘 할 일, 이슈
- 프로젝트 킥오프: 프로젝트 개요, 목표, 일정, 역할, 리스크
- 주간 회의: 주간 실적, 주요 이슈, 다음 주 계획
[커스터마이징 옵션]
- 섹션 추가/삭제
- 섹션 순서 변경
- 기본 항목 설정
[처리 결과]
- 선택된 템플릿으로 회의록 도구가 준비됨
- S/5
---
UFR-MEET-030: [회의시작] 회의 생성자로서 | 나는, 회의를 시작하고 회의록을 작성하기 위해 | 회의를 시작하고 음성 녹음을 준비하고 싶다.
- 시나리오: 회의 시작
예약된 회의 시간에 회의 시작 버튼을 클릭한 상황에서 | 회의 ID를 확인하고 시작하면 | 회의 세션이 생성되고 음성 녹음이 준비된다.
[회의 시작 조건]
- 예약된 회의가 존재함
- 회의 시작 시간 10분 전부터 회의 시작 버튼 활성화
- 회의 생성자가 시작 권한을 가짐
- 이미 시작된 회의일 경우, 진행중으로 표시
[처리 결과]
- 회의 세션이 생성됨 (세션 ID)
- 음성 녹음 준비 완료
- 참석자 목록 표시
- 회의 시작 시간 기록
- 실시간 회의록 주요 항목 추천
- M/8
---
2) 회의 종료 및 완료
UFR-MEET-040: [회의종료] 회의 생성자로서 | 나는, 회의를 종료하고 회의록을 정리하기 위해 | 회의를 종료하고 요약 내용을 확인한 후 다음 단계를 선택하고 싶다.
- 시나리오: 회의 종료
회의가 진행 중인 상황에서 | 회의 종료 버튼을 클릭하면 | 음성 녹음이 중지되고 AI가 회의 전체 내용을 요약 정리한다.
[회의 종료 처리]
- 음성 녹음 즉시 중지
- 회의 종료 시간 기록
- AI가 회의 전체 내용 처리
- STT로 텍스트화된 회의 전체 내용을 주요 안건으로 요약 정리
- 회의 예약 시 선택한 템플릿 반영
- 회의 진행 시 저장한 주요 메모 항목 반영
- 회의 통계 자동 생성
- 회의 총 시간
- 참석자 수
- 주요 키워드
[처리 결과]
- 회의가 종료됨
- AI 요약 내용 전체 표시
- 안건별 AI 한줄 요약
- 안건별 상세 요약 정리
- Todo 자동 추출 결과
- 회의 통계 표시
- 회의 종료 화면은 확인 전용 (편집 불가)
- 안건 내용 수정 불가
- Todo 수정 불가
- 확인만 가능
- 사용자에게 다음 단계 선택 옵션 제공
- 옵션 1: 회의록 수정 화면으로 이동 (회의록 확정을 위한 편집)
- 옵션 2: 바로 최종 확정 (AI가 잘 정리한 경우)
- 옵션 3: 대시보드로 이동 (회의록 상태: 작성중)
[회의록 상태]
- 옵션 1 선택 시: 작성중 상태에서 수정 화면으로 이동
- 옵션 2 선택 시:
- 모든 안건 자동 검증 완료 처리
- 회의록 상태: 확정완료
- 확정 시간 기록
- 참석자에게 확정 알림 발송
- 옵션 3 선택 시: 작성중 상태로 저장되며, 추후 회의록 목록에서 편집 가능
[Policy/Rule]
- 회의 종료 화면에서는 내용을 확인만 가능하며 편집 불가
- 바로 최종 확정 시 모든 안건이 자동으로 검증 완료 처리됨
- M/8
---
UFR-MEET-050: [최종확정] 회의 생성자로서 | 나는, 회의록을 완성하기 위해 | 모든 안건을 검증하고 최종 회의록을 확정하고 싶다.
- 시나리오 1: 회의록 수정 화면에서 최종 확정
회의록 수정 화면에서 | 모든 안건을 검증하고 확정 버튼을 클릭하면 | 필수 항목과 안건 검증 상태가 검사되고 최종 버전이 생성된다.
[필수 항목 검사]
- 회의 제목 입력 여부
- 참석자 목록 작성 여부
- 주요 논의 내용 작성 여부 (안건별)
- 결정 사항 작성 여부
- 모든 안건 검증 완료 여부
[안건 검증 요구사항]
- 각 안건별로 검증 완료 처리 필요
- 검증률 = 검증 완료된 안건 수 / 전체 안건 수
- 검증률이 100%가 되어야 최종 확정 가능
- 검증되지 않은 안건이 있으면 확정 불가
[처리 결과]
- 최종 회의록 확정됨 (확정 버전 번호)
- 확정 시간 기록
- 회의록 확정 상태로 전환
- 참석자에게 확정 알림 발송
- Todo 항목은 이미 추출되어 있음 (UFR-AI-020에서 처리)
[필수 항목 미작성 시]
- 누락된 항목 안내 메시지 표시
- 해당 섹션으로 자동 이동
[안건 미검증 시]
- 검증되지 않은 안건 목록 표시
- 검증률 표시 (예: 70% - 7개 중 5개 검증 완료)
- 미검증 안건으로 자동 이동
- 시나리오 2: 회의 종료 화면에서 바로 최종 확정
회의 종료 화면에서 | AI가 정리한 내용을 확인하고 "바로 최종 확정" 버튼을 클릭하면 | 모든 안건이 자동으로 검증 완료 처리되고 회의록이 확정된다.
[바로 확정 처리]
- 필수 항목 자동 충족 (AI가 이미 생성)
- 회의 제목: 회의 예약 정보
- 참석자 목록: 회의 참석자 정보
- 주요 논의 내용: AI가 안건별로 생성
- 결정 사항: AI가 안건별로 추출
- 모든 안건 자동 검증 완료 처리
- 검증률 100% 자동 설정
- 각 안건별 검증 완료 상태로 변경
- 검증자: 회의록 생성자
- 검증 시간: 확정 시간
[처리 결과]
- 최종 회의록 확정됨 (확정 버전 번호)
- 확정 시간 기록
- 모든 안건 검증 완료 상태
- 회의록 확정 상태로 전환
- 참석자에게 확정 알림 발송
- 회의록 수정 화면을 거치지 않고 바로 확정 완료
[Policy/Rule]
- 회의 종료 화면에서 바로 확정 시 AI 생성 내용 그대로 사용
- 모든 안건 자동 검증 완료 처리
- 추후 회의록 수정 필요 시 회의록 목록에서 편집 가능
- M/13
---
UFR-MEET-046: [회의록목록조회] 회의 참석자로서 | 나는, 참여한 회의록들을 효율적으로 관리하기 위해 | 회의록 목록을 조회하고 필터링하고 싶다.
- 시나리오: 회의록 목록 조회 및 필터링
대시보드에서 "회의록" 메뉴를 클릭하면 | 회의록 목록이 표시되고 | 다양한 필터와 검색으로 원하는 회의록을 찾을 수 있다.
[화면 정보]
- 화면번호: 12-회의록목록조회
- 프로토타입: design/uiux/prototype/12-회의록목록조회.html
- 데이터 소스: common.js → SAMPLE_MINUTES 배열 (30개 샘플 데이터)
[데이터 구조]
- **데이터 레이어**: common.js의 SAMPLE_MINUTES 배열
- **뷰 레이어**: 12-회의록목록조회.html (동적 렌더링)
- **렌더링 방식**: JavaScript로 SAMPLE_MINUTES 데이터를 동적으로 HTML로 생성
- **샘플 데이터 분포**: 총 30개 (작성중 13개, 확정완료 17개)
[회의록 목록 조회]
- 회의록 상태별 필터링: 전체 / 작성중 / 확정완료
- 정렬 옵션: 최근수정순 / 최근회의순 / 제목순
- 참여 유형 필터: 참석한 회의 / 생성한 회의 (다중 선택 가능)
- 검색 기능: 회의 제목, 참석자, 키워드로 검색
- 통계 표시: 전체 개수, 작성중 개수, 확정완료 개수
- 페이지네이션: 초기 10개 표시, "10개 더보기" 버튼으로 추가 로드
- 목록 표시 정보:
- 회의 제목
- 회의 일시
- 참석자 수
- 회의록 상태 (작성중/확정완료)
- 검증 완료율 (작성중인 경우, %)
- 생성자 표시 (👑 아이콘)
- 마지막 수정 시간
[처리 결과]
- 필터/정렬/검색 조건에 맞는 회의록 목록 표시
- 회의록 클릭 시 상세 조회 화면으로 이동
- 모바일/태블릿/데스크톱 반응형 레이아웃
- 실시간 통계 업데이트
- M/8
---
UFR-MEET-047: [회의록상세조회] 회의 참석자로서 | 나는, 지난 회의록의 상세 정보와 전체 내용을 | 한눈에 확인하고 싶다.
- 시나리오: 회의록 상세 정보 조회
회의록 목록에서 특정 회의록을 클릭하면 | 해당 회의의 기본 정보와 섹션별 상세 내용이 표시되고 | 필요한 경우 수정작업을 수행할 수 있다.
[화면 정보]
- 화면번호: 10-회의록상세조회
- 프로토타입: design/uiux/prototype/10-회의록상세조회.html
[회의 기본 정보 표시]
- 회의 제목
- 회의 일시 (날짜 및 시간, 소요 시간)
- 참석자 목록 (아바타 표시, 역할 구분: 생성자/참석자)
- 회의 장소 (온라인/오프라인)
- 회의록 상태 (작성중/확정완료)
- 생성자 및 최종 수정 시간
[섹션별 상세 내용 표시]
- 각 섹션 구분 표시 (번호, 제목)
- 섹션별 검증 상태 표시 (검증완료 배지)
- AI 요약 섹션:
- 섹션별 AI 요약 내용
- 생성/수정 시간 표시
- 편집 버튼 (수정 권한이 있는 경우)
- 상세 내용 섹션:
- 논의 사항 (리스트 형태)
- 결정 사항 (리스트 형태)
- 일정 정보 (있는 경우)
- 리소스 정보 (있는 경우)
- 관련 회의록 섹션:
- 관련도 높은 회의록 최대 3개 표시
- 각 회의록별 정보: 제목, 날짜, 관련도 %, 요약 내용
- 클릭 시 해당 회의록으로 이동
[탭 네비게이션]
- **탭 구성**: 대시보드 / 회의록 (2개 탭)
- **기본 노출**: 대시보드 탭 우선 노출
- **탭 전환**: 클릭 시 콘텐츠 전환, URL 변경 없음
- **대시보드 탭 내용**:
- 핵심내용 (주요 포인트 요약)
- 결정사항
- Todo 진행상황
- 관련회의록
- **회의록 탭 내용**:
- 섹션별 상세 내용
- AI 요약
- 관련회의록
[부가 기능]
- 회의록 수정 버튼 (수정 권한이 있는 경우만 활성화)
- 뒤로가기 버튼 (회의록 목록으로 복귀)
- 더보기 메뉴 (다운로드, 삭제 등)
[처리 결과]
- 모바일/태블릿/데스크톱 반응형 레이아웃
- 긴 내용은 적절한 단락 구분 및 여백 적용
- 페이지 로딩 시 스크롤 위치는 최상단
- 관련 회의록 자동 표시
[권한별 표시]
- 조회 권한만 있는 경우: 수정 버튼 비활성화
- 수정 권한이 있는 경우: 수정 버튼 활성화
- M/8
---
UFR-MEET-055: [회의록수정] 회의 참석자로서 | 나는, 검증이 완료되지 않았거나 수정이 필요한 | 지난 회의록을 수정하고 싶다.
- **화면번호**: 11-회의록수정
- 시나리오: 지난 회의록 수정
회의록 상세 화면에서 수정 버튼을 클릭하면 | 회의록 수정 화면으로 이동하고 | 내용을 수정할 수 있다.
[진입 경로]
- 10-회의록상세조회 화면 → 하단 액션 바 "수정" 버튼 클릭
- 권한이 있는 경우에만 "수정" 버튼 활성화
[수정 가능 항목]
-**회의 제목**: 수정 가능
-**회의 일시**: 수정 불가 (readonly, 회의 예약 화면에서만 변경 가능)
-**회의 장소**: 수정 불가 (readonly, 회의 예약 화면에서만 변경 가능)
-**참석자 목록**: 회의 생성자만 추가/삭제 가능
- 05-회의진행 화면과 동일한 UI 제공
- 참석자 추가: 이메일 입력 후 초대 버튼
- 참석자 삭제: 각 참석자 옆 × 버튼 (회의 생성자는 삭제 불가)
-**섹션별 AI 요약**: AI 재생성 버튼으로 수정 가능
-**섹션별 내용**: 마크다운 에디터로 수정 가능
-**관련회의록**: 추가/삭제 가능
-**검증완료 섹션**: 회의 생성자만 잠금 해제 후 수정 가능 (참석자는 수정 불가)
- 🔄 **회의록 상태**: 수정 시 자동으로 '작성중'으로 변경 (사용자 직접 변경 불가)
[수정 기능]
- 수정 중 자동 저장 (30초 간격)
- 저장 상태 표시 (저장됨/저장 중)
- 수정 이력 관리 (v2.0 고도화 예정)
[처리 결과]
- 수정 내용 즉시 반영
- 수정 시간 업데이트
- 확정완료 상태였던 경우 → 작성중 상태로 변경
- 취소 시 이전 상태로 복원
[권한 제어]
**검증완료 전 (작성중/초안 상태)**
- 모든 참석자가 회의록 수정 가능
- 모든 섹션 편집 가능 (검증완료 섹션 없음)
- 참석자 관리: 회의 생성자만 가능
**검증완료 후**
- 회의 생성자만 회의록 수정 가능
- 참석자는 "수정" 버튼 비활성화 (조회만 가능)
- 검증완료 섹션: 회의 생성자만 잠금 해제 후 수정 가능
- 수정 시 회의록 상태는 '작성중'으로 자동 변경 (재검증 필요)
- M/13
---
3. STT 서비스 (음성 인식 및 변환 - 기본 기능)
1) 음성 인식 및 변환
UFR-STT-010: [음성녹음인식] 회의 참석자로서 | 나는, 발언 내용이 자동으로 기록되기 위해 | 음성이 실시간으로 녹음되고 인식되기를 원한다.
- 시나리오: 음성 실시간 인식
회의가 시작된 상황에서 | 참석자가 발언을 시작하면 | 음성이 실시간으로 텍스트로 변환된다.
[음성 스트리밍 처리]
- 오디오 스트림 실시간 캡처
- 회의 ID와 연결
- **음성 파일은 저장하지 않음** (실시간 스트리밍만 처리)
[음성 인식 처리]
- AI 음성인식 엔진 연동 (Azure Speech 등)
- 실시간 텍스트 변환
- 타임스탬프 기록
[처리 결과]
- 음성 스트리밍이 시작됨 (세션 ID)
- 텍스트가 변환됨 (세그먼트 ID, 텍스트, 타임스탬프)
- 실시간으로 텍스트 변환 요청 (UFR-STT-020 연동)
- **음성 파일은 저장되지 않고 스트리밍만 처리됨**
- **화자 식별 기능 없음** (단순 텍스트 변환만)
[성능 요구사항]
- 음성 인식 지연 시간: 1초 이내
- 변환 정확도: 85% 이상
[비고]
- STT는 기본 기능으로 경쟁사 대부분이 제공하는 기능임
- 차별화 포인트가 아닌 필수 기능
- M/21
---
UFR-STT-020: [텍스트변환] 회의록 시스템으로서 | 나는, 인식된 발언을 회의록에 기록하기 위해 | 음성을 텍스트로 변환하고 싶다.
- 시나리오: 음성-텍스트 변환
발언이 인식된 상황에서 | AI 음성인식 엔진에 텍스트 변환을 요청하면 | 음성이 텍스트로 변환되고 정확도와 함께 반환된다.
[텍스트 변환 처리]
- 인식된 발언 데이터 전달
- 언어 설정 (한국어, 영어 등)
- AI 음성인식 엔진 처리
- 문장 부호 자동 추가
- 숫자/날짜 형식 정규화
[처리 결과]
- 텍스트가 변환됨 (텍스트 ID)
- 변환된 내용 (원문 텍스트)
- 정확도 점수 (0-100%)
- AI 회의록 자동 작성 요청 (UFR-AI-010 연동)
[정확도 낮은 경우]
- 정확도 60% 미만 시 경고 표시
- 수동 수정 인터페이스 제공
[비고]
- STT는 기본 기능으로 차별화 포인트가 아님
- M/13
---
4. AI 서비스 (AI 기반 회의록 자동화, Todo 추출, 지능형 검색 - RAG 통합)
1) AI 회의록 작성
UFR-AI-010: [회의록자동작성] 회의 참석자로서 | 나는, 회의록 작성 부담을 줄이기 위해 | AI가 발언 내용을 실시간으로 정리하고 회의 종료 시 전체 안건을 요약하기를 원한다.
- 시나리오 1: 실시간 AI 주요 메모 작성 (회의 진행 중)
텍스트가 변환된 상황에서 | LLM에 실시간 회의록 작성을 요청하면 | AI가 주요 메모 항목을 실시간으로 추천한다.
[실시간 AI 처리 과정]
- 변환된 텍스트와 회의 맥락(제목, 참석자) 분석
- 회의 내용 이해
- 중요 키워드 추출
- 주요 발언 식별
- 주요 메모 항목 추천
- 구어체 → 문어체 변환
- 불필요한 표현 제거
- 문법 교정
[실시간 처리 결과]
- AI 주요 메모 항목 추천 (실시간)
- 회의 참석자가 필요한 항목만 선택하여 저장
- 참석자에게 실시간 동기화 (UFR-COLLAB-010 연동)
[Policy/Rule]
- 텍스트 변환되면 자동으로 주요 메모 항목 추천
- 실시간 업데이트 (3-5초 간격)
- 회의 진행 중에는 주요 메모 항목만 표시하여 회의 집중도 향상
- 시나리오 2: 회의 종료 시 전체 안건 요약
회의가 종료된 상황에서 | LLM에 전체 회의록 요약을 요청하면 | AI가 회의 전체 내용을 주요 안건으로 요약 정리한다.
[회의 종료 시 AI 처리 과정]
- STT로 텍스트화된 회의 전체 내용 분석
- 회의 예약 시 선택한 템플릿 정보 반영
- 회의 진행 시 저장한 주요 메모 항목 반영
- 회의 내용을 주요 안건으로 분류 및 요약
- 안건별 주제 식별
- 안건별 핵심 내용 정리
- 발언자별 의견 정리
- 결정 사항 및 보류 사항 구분
- 안건별 구조화
- 편집 불가능한 AI 한줄 요약 생성
- 편집 가능한 상세 요약 정리 생성
[회의 종료 시 처리 결과]
- 주요 안건별 회의록 초안 생성
- 각 안건별 구조화된 내용
- AI 한줄 요약 (편집 불가)
- 상세 요약 정리 (편집 가능)
- 논의 주제
- 발언자별 의견
- 결정 사항
- 보류 사항
- 회의록 수정 화면에서 안건별 편집 및 검증 가능
- M/34
---
2) Todo 자동 추출
UFR-AI-020: [Todo자동추출] 회의 참석자로서 | 나는, 회의 후 실행 사항을 명확히 하기 위해 | AI가 안건별 내용에서 Todo 항목을 자동으로 추출하고 기본값을 설정하기를 원한다.
- 시나리오: AI Todo 자동 추출
회의록 수정 화면에서 | 각 안건의 내용을 분석하여 Todo 자동 추출을 요청하면 | 액션 아이템이 식별되고 기본값이 자동으로 설정된다.
[AI 분석 과정]
- 안건별 상세 내용 분석
- 액션 아이템 식별
- "~하기로 함", "~까지 완료", "~담당" 등 키워드 탐지
- 명령형 문장 분석
- 마감일 언급 추출
- 담당자 자동 식별
- 발언 내용 기반 ("제가 하겠습니다", "~님이 담당")
- 직책/역할 기반 매칭
- 과거 회의록 패턴 학습
[처리 결과]
- Todo가 자동 추출됨
- 추출된 항목 수
- 각 Todo별 정보
- Todo 내용
- 담당자 (기본값: 회의록 생성자)
- 마감일 (기본값: 다음 회의 날짜 또는 오늘)
- 우선순위 (기본값: 보통)
- 관련 안건 링크
- Todo 서비스에 자동 전달 (UFR-TODO-010 연동)
- 회의록 수정 화면에서 Todo 편집 가능
[기본값 설정 규칙]
- 담당자
- AI가 식별한 담당자가 있으면 해당 담당자
- 식별 실패 시: 회의록 생성자
- 마감일
- 회의록에 마감일이 언급된 경우: 해당 날짜
- 언급되지 않았지만 다음 회의 날짜가 있는 경우: 다음 회의 날짜
- 둘 다 없는 경우: 오늘 날짜
- 우선순위
- 회의록에 우선순위가 언급된 경우: 해당 우선순위
- 언급되지 않은 경우: 보통
[Todo 독립성]
- Todo는 회의록 확정 상태와 무관하게 완료 처리 가능
- 회의록이 작성중 상태여도 Todo 진행 가능
- Todo 완료 상태는 회의록에 실시간 반영
- M/21
---
3) 섹션 AI 요약 재생성 (신규, 차별화 포인트)
UFR-AI-035: [섹션AI요약] 회의 참석자로서 | 나는, 작성한 섹션 내용을 쉽게 요약하기 위해 | 버튼 클릭으로 AI가 섹션 내용을 요약해주기를 원한다.
- 시나리오: 섹션 AI 요약 재생성
회의록 작성/수정 중에 | 특정 섹션의 "AI 재생성" 버튼을 클릭하면 | AI가 해당 섹션 내용을 분석하여 2-3문장의 요약을 자동 생성한다.
[사용 시점]
- 회의록 작성 중 각 섹션 완료 시
- 회의록 수정 중 섹션 내용 변경 후
- 기존 요약이 부적절하다고 판단될 때
[AI 처리 과정]
- 회의 맥락 조회 (선택적)
- 회의 제목, 참석자, 안건 파악
- 섹션 내용 파싱
- 논의사항 추출
- 결정사항 추출
- 보류사항 추출
- 핵심 내용 식별
- 중요도 평가
- 키워드 추출
- 요약 생성
- 2-3문장으로 압축
- 논의→결정 흐름 반영
- 명확한 문장 구성
[처리 결과]
- 생성된 AI 요약 (2-3문장, 150자 이내)
- 생성 시간 기록
- 사용자는 생성된 요약을 다시 수정 가능
[Policy/Rule]
- 섹션 내용이 변경되면 요약도 재생성 가능
- 이전 요약은 이력으로 보관
- 처리 시간 2-5초 (빠른 응답)
- 프롬프트 입력 불필요 (자동 처리)
- M/21
---
UFR-AI-036: [AI한줄요약] 회의 참석자로서 | 나는, 각 안건의 핵심을 빠르게 파악하기 위해 | AI가 생성한 편집 불가능한 한줄 요약을 확인하고 싶다.
- 시나리오: AI 한줄 요약 제공
회의 종료 시 | AI가 안건별 전체 내용을 요약하면 | 각 안건마다 편집 불가능한 한줄 요약과 편집 가능한 상세 요약이 함께 생성된다.
[AI 처리 과정]
- 안건별 전체 내용 분석
- 핵심 메시지 추출
- 가장 중요한 논의 사항
- 최종 결정 또는 결론
- 핵심 키워드
- 한 문장 요약 생성
- 30자 이내 간결한 표현
- 논의→결정 핵심 반영
- 명확하고 이해하기 쉬운 문장
[처리 결과]
- AI 한줄 요약 (편집 불가)
- 각 안건의 최상단에 표시
- 읽기 전용으로 고정
- 안건의 핵심을 한눈에 파악 가능
- 상세 요약 정리 (편집 가능)
- AI 한줄 요약 하단에 표시
- 사용자가 자유롭게 편집 가능
- 논의 주제, 발언자별 의견, 결정 사항 포함
[Policy/Rule]
- AI 한줄 요약은 회의 종료 시 1회 생성
- 생성 후에는 편집 불가 (원본 보존)
- 상세 요약 정리는 사용자가 자유롭게 수정 가능
- 회의록 수정 화면(11-회의록수정)에서 표시
- M/21
---
4) 관련 회의록 자동 연결 (신규, 차별화 포인트)
UFR-AI-040: [관련회의록연결] 회의 참석자로서 | 나는, 이전 회의 내용을 쉽게 참조하기 위해 | AI가 같은 폴더 내 관련 있는 과거 회의록을 자동으로 찾아 연결해주기를 원한다.
- 시나리오: 관련 회의록 자동 연결
회의록이 작성되는 상황에서 | AI가 회의 주제와 내용을 분석하면 | 같은 폴더 내 유사한 주제의 과거 회의록을 찾아 자동으로 연결한다.
[AI 분석 과정]
- 현재 회의록 주제 및 키워드 추출
- 벡터 유사도 검색
- 과거 회의록 DB에서 검색
- 주제 유사도 계산
- 관련도 점수 계산 (0-100%)
- 같은 폴더 내 상위 5개 회의록 선정
[연결 기준]
- 주제 유사도 70% 이상
- 동일 참석자가 50% 이상
- 키워드 3개 이상 일치
- 시간적 연관성 (후속 회의, 분기별 회의 등)
[처리 결과]
- 관련 회의록 목록 생성
- 각 회의록별 정보
- 제목
- 날짜
- 참석자
- 관련도 점수
- 연관 키워드
- 회의록 상단에 "관련 회의록" 섹션 자동 추가
- 클릭 시 해당 회의록으로 이동
[Policy/Rule]
- 관련도 70% 이상만 자동 연결
- 최대 5개까지 표시
- S/13
---
5. AI 서비스 (지능형 검색 - RAG 기능, AI Service에 통합됨)
1) 맥락 기반 용어 설명 (강화)
UFR-RAG-010: [전문용어감지] 회의 참석자로서 | 나는, 업무 지식이 없어도 회의록을 정확히 작성하기 위해 | 전문용어가 자동으로 감지되고 맥락에 맞는 설명을 제공받고 싶다.
- 시나리오: 맥락 기반 전문용어 자동 감지
회의록이 작성되는 상황에서 | 시스템이 회의록 텍스트를 분석하면 | 전문용어가 자동으로 감지되고 맥락에 맞는 설명이 준비된다.
**변경사항 (논리 아키텍처)**:
- AI Service에 RAG 기능 통합
- RAG와 AI 모두 LLM 기반 처리로 긴밀하게 연동
- 동일한 벡터 임베딩 모델 및 LLM 공유 가능
- 회의록 자동 작성 시 용어 설명이 병렬 처리되어 효율적
[전문용어 감지 처리]
- 회의록 텍스트 실시간 분석
- 용어 사전과 비교
- 조직별 전문용어 DB
- 산업별 표준 용어 DB
- 신뢰도 계산 (0-100%)
- 감지된 용어 위치 기록
[처리 결과]
- 전문용어가 감지됨
- 감지된 용어 정보
- 용어명
- 감지 위치 (줄 번호, 문단)
- 신뢰도 점수
- 용어 하이라이트 표시
- 맥락 기반 설명 자동 생성 (UFR-RAG-020 연동)
[Policy/Rule]
- 신뢰도 70% 이상만 자동 감지
- 중복 용어는 첫 번째만 하이라이트
[비고]
- 단순 용어 설명이 아닌 맥락 기반 실용적 정보 제공이 차별화 포인트
- S/13
---
UFR-RAG-020: [맥락기반용어설명] 회의 참석자로서 | 나는, 전문용어를 맥락에 맞게 이해하기 위해 | 관련 회의록과 업무 이력을 바탕으로 실용적인 설명을 제공받고 싶다.
- 시나리오: 맥락 기반 용어 설명 자동 제공
전문용어가 감지된 상황에서 | RAG 시스템이 관련 문서를 검색하면 | 과거 회의록 및 업무 이력에서 맥락에 맞는 실용적인 설명이 생성되어 제공된다.
[RAG 검색 수행]
- 벡터 유사도 검색
- 과거 회의록 검색 (동일 용어 사용 사례)
- 사내 문서 저장소 검색 (위키, 매뉴얼, 보고서)
- 업무 이력 검색 (프로젝트 문서, 이메일 등)
- 관련 문서 추출 (관련도 점수순)
- 최대 5개 문서 선택
[맥락 기반 설명 생성]
- 검색된 문서 내용 분석
- 용어 정의 추출
- 실제 사용 사례 추출
- 현재 회의 맥락에 맞는 설명 생성
- 간단한 정의 (1-2문장)
- 이 회의에서의 의미 (맥락 기반)
- 관련 프로젝트/이슈 연결
- 과거 논의 요약 (언제, 누가, 어떻게 사용했는지)
- 참조 출처 링크
[처리 결과]
- 맥락 기반 용어 설명이 생성됨 (설명 ID)
- 설명 내용
- 간단한 정의
- 맥락 기반 상세 설명
- 실제 사용 사례
- 관련 프로젝트/이슈
- 과거 회의록 링크 (최대 3개)
- 사내 문서 링크
- 툴팁 또는 사이드 패널로 표시
- 설명 제공 시간 기록
[설명을 찾지 못한 경우]
- "관련 정보를 찾을 수 없습니다" 메시지 표시
- 전문가(회의 참석자)에게 설명 요청 버튼 제공
- 수동 입력된 설명은 용어 사전에 자동 저장
[비고]
- **차별화 포인트**: 단순 용어 설명이 아닌, 조직 내 실제 사용 맥락과 이력을 제공
- 업무 지식이 없어도 실질적인 도움을 받을 수 있음
- S/21
---
6. Meeting 서비스 (실시간 협업 - Meeting Service에 통합됨)
1) 실시간 협업
UFR-COLLAB-010: [회의록수정동기화] 회의 참석자로서 | 나는, 회의록을 함께 검증하기 위해 | 회의록을 수정하고 실시간으로 다른 참석자와 동기화하고 싶다.
- 시나리오: 회의록 실시간 수정 및 동기화
회의록 초안이 작성된 상황에서 | 참석자가 회의록 내용을 수정하면 | 수정 사항이 버전 관리되고 웹소켓을 통해 모든 참석자에게 즉시 동기화된다.
**변경사항 (논리 아키텍처)**:
- Meeting Service에 실시간 협업 기능 통합
- WebSocket, 버전 관리, 충돌 해결이 Meeting Service 내부에서 처리됨
- 서비스 간 통신 오버헤드 제거, 성능 향상
[회의록 수정 처리]
- 수정 내용 검증
- 수정 권한 확인
- 수정 범위 제한 (잠긴 섹션은 수정 불가)
- 수정 이력 저장
- 수정자
- 수정 시간
- 수정 전/후 내용
- 수정 위치
- 버전 관리
- 새 버전 번호 생성
- 이전 버전 보관
[실시간 동기화]
- 웹소켓을 통해 수정 델타 전송
- 전체 내용이 아닌 변경 부분만 전송 (효율성)
- 모든 참석자 화면에 실시간 반영
- 수정자 표시 (이름)
- 수정 영역 하이라이트 (3초간)
[처리 결과]
- 참석자가 회의록을 수정함 (수정 ID)
- 수정 사항이 동기화됨
- 동기화 시간
- 영향받은 참석자 목록
- 수정 완료될 때마다 수정된 내용이 메일로 알림이 발송된다. (알림 여부 설정 가능)
[Policy/Rule]
- 회의록 수정 시 웹소켓을 통해 모든 참석자에게 즉시 동기화
- M/34
---
UFR-COLLAB-020: [충돌해결] 회의 참석자로서 | 나는, 동시 수정 상황에서도 내용을 잃지 않기 위해 | 안건별로 충돌 없이 편집하고 싶다.
- 시나리오: 안건별 동시 편집 충돌 방지
여러 참석자가 회의록을 동시에 수정하는 상황에서 | 각자 다른 안건을 편집하면 | 충돌 없이 실시간으로 저장되고 동기화된다.
[안건 기반 충돌 방지]
- 안건 단위 잠금 메커니즘
- 각 안건은 독립적인 편집 단위
- 참석자 A가 안건 1 편집 시, 다른 참석자는 안건 2, 3 등 편집 가능
- 동일 안건 동시 편집 시에만 충돌 처리
- 편집 중 안건 표시
- 다른 참석자가 현재 편집 중인 안건 실시간 표시
- 편집자 이름과 프로필 아이콘 표시
- "○○○님이 편집 중" 메시지
[동일 안건 동시 편집 시 충돌 감지]
- 동일 안건 동시 수정 탐지
- 필드 단위 비교 (제목, 상세 내용, Todo 등)
- 버전 기반 충돌 확인
- 충돌 정보 생성
- 충돌 안건
- 관련 수정자 2명
- 각자의 수정 내용
[충돌 해결 방식]
- 필드별 자동 병합 (기본)
- 다른 필드 편집 시: 자동 병합 (충돌 없음)
- 예: A가 제목 수정, B가 상세 내용 수정 → 둘 다 반영
- Last Write Wins (동일 필드 수정 시)
- 동일 필드 동시 수정 시: 가장 최근 수정이 우선
- 이전 수정은 버전 이력에 보관
- 덮어쓰인 사용자에게 알림
- 수동 병합 (선택)
- 충돌 내용 비교 UI 표시
- 사용자가 최종 내용 선택
- A 선택 / B 선택 / 직접 작성
[처리 결과]
- 안건별 독립 편집으로 충돌 최소화
- 충돌 발생 시:
- 충돌이 감지됨 (충돌 ID)
- 충돌 안건 및 필드
- 관련 수정자
- 충돌이 해결됨
- 해결 방법 (자동 병합 / Last Write Wins / 수동 병합)
- 최종 내용
- 해결된 내용 실시간 동기화
[Policy/Rule]
- 안건 단위 독립 편집으로 충돌 최소화
- 동일 안건 내 다른 필드 수정 시 자동 병합
- 동일 필드 동시 수정 시 Last Write Wins 적용
- M/21
---
UFR-COLLAB-030: [검증완료] 회의 참석자로서 | 나는, 회의록의 정확성을 보장하기 위해 | 각 안건을 검증하고 완료 표시를 하고 싶다.
- 시나리오: 안건별 회의록 검증 완료
회의록 수정 화면에서 안건 내용을 확인한 상황에서 | 참석자가 안건별 검증 완료 버튼을 클릭하면 | 검증 상태가 업데이트되고 다른 참석자에게 동기화된다.
[검증 처리]
- 검증자 정보 기록
- 검증 시간 기록
- 검증 대상 안건 기록
- 안건별 검증 상태 업데이트
- 미검증 → 검증 완료
- 전체 검증률 계산
- 검증률 = 검증 완료된 안건 수 / 전체 안건 수
- 회의록 목록에서 검증률 표시 (예: 70%)
[안건 잠금 기능]
- 회의 생성자만 잠금/해제 가능
- 안건 검증 완료 시 잠금 가능 (선택)
- 잠긴 안건은 회의 생성자만 잠금 해제 후 수정 가능
- 참석자는 검증완료된 안건을 읽기 전용으로만 확인 가능
[처리 결과]
- 안건 검증이 완료됨
- 검증자 정보
- 검증 상태 (검증 완료)
- 완료 시간
- 전체 검증률 업데이트
- 검증 완료 상태 실시간 동기화
- 검증 배지 표시 (체크 아이콘)
- 모든 안건 검증 완료 시 전체 메일로 알림 발송
[통합 화면]
- 11-회의록수정 화면에서 안건별 검증 처리
- 별도의 06-검증완료 화면 불필요
- 안건별 편집 영역에 검증 완료 버튼 제공
[Policy/Rule]
- 안건별 검증 완료 시 해당 안건 잠금 가능
- 모든 안건 검증 완료 시 회의록 최종 확정 가능 (UFR-MEET-050)
- M/8
---
7. Meeting 서비스 (Todo 관리 - Meeting Service에 통합됨, 차별화 포인트)
1) 실시간 Todo 연결 (강화)
UFR-TODO-010: [Todo할당] Todo 시스템으로서 | 나는, AI가 추출한 Todo를 담당자에게 전달하기 위해 | Todo를 실시간으로 할당하고 회의록과 연결하고 싶다.
- 시나리오: Todo 실시간 할당 및 회의록 연결
AI가 Todo를 추출한 상황에서 | 시스템이 Todo를 등록하고 담당자를 지정하면 | Todo가 실시간으로 할당되고 회의록의 해당 위치와 연결되며 담당자에게 즉시 알림이 발송된다.
**변경사항 (논리 아키텍처)**:
- Meeting Service에 Todo 관리 기능 통합
- Todo와 회의록이 동일 트랜잭션 내에서 처리 가능
- 회의록-Todo 양방향 연결이 내부 메서드 호출로 처리됨 (10배 빠름)
[Todo 등록]
- Todo 정보 저장
- Todo ID 생성
- Todo 내용
- 담당자 (AI 자동 식별 또는 수동 지정)
- 마감일 (언급된 경우 자동 설정, 없으면 수동 설정)
- 우선순위 (높음/보통/낮음)
- 관련 회의록 링크 (섹션 위치 포함)
[회의록 실시간 연결]
- 회의록 해당 섹션에 Todo 뱃지 표시
- Todo 클릭 시 Todo 상세 정보 표시
- 양방향 연결 (Todo → 회의록, 회의록 → Todo)
[알림 발송]
- 담당자에게 즉시 알림
- 이메일
- 알림 내용
- Todo 내용
- 마감일
- 회의록 링크 (해당 섹션으로 바로 이동)
[캘린더 연동]
- 마감일이 있는 경우 캘린더에 자동 등록
- 마감일 3일 전 리마인더 일정 생성
[처리 결과]
- Todo가 할당됨 (Todo ID)
- 담당자 정보
- 마감일
- 할당 시간
- 회의록 연결 정보 (섹션 ID, 타임스탬프)
- 담당자에게 알림이 발송됨
- 캘린더 등록 완료
[Policy/Rule]
- Todo 할당 시 담당자에게 즉시 알림 발송
- 회의록과 실시간 양방향 연결
[비고]
- **차별화 포인트**: Todo와 회의록의 강력한 연결, 원문 맥락 추적 가능
- M/13
---
UFR-TODO-030: [Todo완료처리] Todo 담당자로서 | 나는, 완료된 Todo를 처리하고 회의록에 반영하기 위해 | Todo를 완료하고 회의록에 자동 반영하고 싶다.
- 시나리오: Todo 완료 처리 및 회의록 자동 반영
Todo 작업이 완료된 상황에서 | 담당자가 완료 버튼을 클릭하면 | Todo가 완료 상태로 변경되고 연결된 회의록에 완료 상태가 실시간으로 반영된다.
[완료 처리]
- 완료 시간 자동 기록
- 완료자 정보 저장
- 완료 상태로 변경
- 완료 여부 확인 다이얼로그 표시
[회의록 실시간 반영]
- 관련 회의록의 Todo 섹션 자동 업데이트
- 완료 표시 (체크 아이콘)
- 완료 시간 기록
- 완료자 정보 표시
[알림 발송]
- 완료 알림
- 모든 Todo 완료 시 전체 완료 알림
[처리 결과]
- Todo가 완료됨
- 완료 시간
- 완료자 정보
- 회의록에 완료 상태가 반영됨
- 반영 시간
- 회의록 버전 업데이트
[Policy/Rule]
- Todo 완료 시 회의록에 완료 상태 즉시 반영
- 모든 Todo 완료 시 완료 알림
[비고]
- **차별화 포인트**: Todo 완료가 회의록에 실시간 반영되어 회의 결과 추적 용이
- M/8
---
UFR-TODO-040: [Todo관리] Todo 담당자로서 | 나는, 나의 Todo를 효율적으로 관리하기 위해 | Todo 목록을 조회하고 상태를 변경하고 편집하고 싶다.
- 시나리오: Todo 관리 화면 조회 및 관리
09-Todo관리 화면에 접근하면 | 나의 Todo(내가 담당자인 Todo) 목록이 표시되고 | 필터링, 상태 변경, 편집이 가능하다.
[화면 정보]
- 화면번호: 09-Todo관리
- 프로토타입: design/uiux/prototype/09-Todo관리.html
[대전제]
- Todo의 상태는 완료/미완료만 존재
- 09-Todo관리 화면에서는 나의 Todo(내가 담당자인 Todo)만 표시
[화면 구성]
**1. 상단 통계 블록**
- 전체: 미완료 전체 개수
- 마감임박: 기한 3일 이내 미완료 개수
- 지연: 기한이 지난 미완료 개수
**2. 필터링 기준**
- 전체(개수): 완료/미완료 전체
- 지연(개수): 기한이 지난 미완료
- 마감임박(개수): 기한 3일 이내 미완료
- 완료(개수): 완료된 Todo
**3. Todo 리스트 블록**
- 정렬: 미완료 → 완료 순서, 기한일 오래된 순 (복합 정렬)
- 표시 항목:
- 체크박스 (완료/미완료 토글)
- Todo 제목
- 상태 뱃지: D+n(지연) / D-day / D-n / 완료
- 우선순위 뱃지: 높음 / 보통 / 낮음
- 기한
- 회의록 제목 + 링크 (해당 Todo가 속한 회의록 상세로 이동)
- 편집 버튼 (권한 있는 경우에만 노출)
- 페이징: 최초 10건 노출, 10건 이상일 경우 하단에 "10개 더보기" 버튼 표시
**4. 편집 모달**
- 제목 (input)
- 담당자 (해당 회의록 참석자 중 select) - 회의 생성자만 변경 가능
- 마감일 (달력)
- 우선순위 (높음/보통/낮음 select)
[UI/UX 요구사항]
- **디자인 차별화**: 액션 가능한 블록(체크박스, 편집 버튼)과 정보 표시 블록은 시각적으로 구분
- **체크박스 동작**:
- 체크박스 클릭 시 "완료 처리하시겠습니까?" 확인 모달 표시
- 확인 시 완료 처리, 취소 시 이전 상태 유지
- 미완료로 되돌릴 때도 "미완료로 변경하시겠습니까?" 확인 모달 표시
- **편집 버튼**: 담당자 본인 OR 회의 생성자인 경우에만 노출
- **편집 모달**: 모바일에서는 바텀시트 형식으로 표시
- **회의록 링크**: 클릭 시 10-회의록상세조회 화면으로 이동 (대시보드 탭 우선 노출)
[권한 제어]
- **Todo 담당자**: 본인에게 할당된 Todo만 편집 가능
- 수정 가능 항목: 제목, 마감일, 우선순위
- 담당자 변경 불가
- **회의 생성자**: 해당 회의의 모든 Todo 편집 가능 (11-회의록수정 화면에서)
- 수정 가능 항목: 제목, 담당자, 마감일, 우선순위
- 담당자 변경 가능
[처리 결과]
- Todo 상태 변경 시:
- 완료/미완료 상태 즉시 업데이트
- 통계 블록 갱신
- 리스트 재정렬
- Todo 편집 저장 시:
- Todo 정보 업데이트
- 수정 시간 기록
- 회의록에 수정 내용 실시간 반영
- 담당자 변경 시 이전/새 담당자에게 알림 발송
- 마감일 변경 시 캘린더 자동 업데이트
[Policy/Rule]
- 필터별 개수 표시로 사용자가 전체 보기 여부 판단 가능
- 체크박스 토글 시 확인 액션 필수 (실수 방지)
- 편집 권한 없는 Todo는 편집 버튼 미노출
[비고]
- 진행률 표시 제거 (상태는 완료/미완료만)
- 날짜별 그룹핑은 v2.0 고도화 시 고려
- Todo 하이라이트 기능은 v2.0 고도화 시 고려
- M/13
---
## 논리 아키텍처 반영 사항 요약
### 1. 마이크로서비스 구성 변경 (v2.0)
**변경 전 (v1.0)**: 8개 마이크로서비스
- User, Meeting, STT, AI, RAG, Collaboration, Todo, Notification
**변경 후 (v2.0)**: 5개 마이크로서비스
- User, Meeting, STT, AI, Notification
### 2. 주요 변경사항
#### 2.1 User Service 역할 변경
- **변경 전**: 사용자 인증 및 권한 관리, 대시보드 정보 제공
- **변경 후**: 사용자 인증 전용 (LDAP 연동, JWT 토큰 발급/검증)
- **이유**:
- 프론트엔드가 모든 API 요청에 사용자 정보(userId, userName, email) 포함
- User Service 동기 호출 제거 → 성능 향상, 장애 격리
- 네트워크 지연 제거 (~100ms 개선)
#### 2.2 Meeting Service 통합
- **통합 서비스**: Meeting + Collaboration + Todo
- **핵심 기능**:
- 회의 관리: 회의 예약, 시작, 종료
- 회의록 관리: 회의록 생성, 수정, 확정
- Todo 관리: Todo 할당, 진행 상황 추적, 회의록 양방향 연결
- 실시간 협업: WebSocket 기반 실시간 동기화, 버전 관리, 충돌 해결
- **이점**:
- 서비스 간 통신 오버헤드 제거
- Todo와 회의록이 동일 트랜잭션 내에서 처리 가능
- 일관성 향상, 개발 효율성 증가
- 내부 메서드 호출로 처리 속도 10배 향상
#### 2.3 AI Service 통합
- **통합 서비스**: AI + RAG
- **핵심 기능**:
- LLM 기반 회의록 자동 작성
- Todo 자동 추출 및 담당자 식별
- 섹션 AI 요약 재생성 (버튼 클릭 시 요약 생성)
- 관련 회의록 자동 연결 (벡터 유사도 검색)
- 전문용어 자동 감지 및 맥락 기반 설명 생성 (RAG)
- 과거 회의록 및 사내 문서 검색
- **이점**:
- RAG와 AI 모두 LLM 기반 처리로 긴밀하게 연동
- 동일한 벡터 임베딩 모델 및 LLM 공유 가능
- 회의록 자동 작성 시 용어 설명이 병렬 처리되어 효율적
- 서비스 개수 감소로 운영 복잡도 감소
### 3. 유저스토리 영향도
#### 3.1 변경 없음
- STT 서비스 유저스토리: UFR-STT-010, UFR-STT-020
- Notification 서비스 유저스토리: 알림 발송 관련
#### 3.2 서비스 통합에 따른 변경
- **Collaboration → Meeting**: UFR-COLLAB-010, UFR-COLLAB-020, UFR-COLLAB-030
- **Todo → Meeting**: UFR-TODO-010, UFR-TODO-030
- **RAG → AI**: UFR-RAG-010, UFR-RAG-020
#### 3.3 기능적 변경
- **AFR-USER-020 (대시보드)**:
- 프론트엔드가 Meeting Service에 직접 API 요청
- User Service는 인증만 담당
### 4. 성능 개선 효과
| 항목 | 개선 전 | 개선 후 | 효과 |
|------|---------|---------|------|
| User Service 동기 호출 | ~100ms | 제거 | 네트워크 지연 제거 |
| Todo 처리 | 서비스 간 통신 | 내부 메서드 호출 | 10배 빠름 |
| 실시간 동기화 | 서비스 간 REST API | Meeting 내부 처리 | 지연 감소 |
| 서비스 개수 | 8개 | 5개 | 운영 복잡도 감소 |
### 5. 차별화 전략 유지
논리 아키텍처 변경에도 불구하고 차별화 포인트는 그대로 유지됩니다:
-**맥락 기반 용어 설명**: AI Service에서 RAG 기능 통합 제공
-**강화된 Todo 연결**: Meeting Service에서 더 강력한 통합 제공
-**프롬프팅 기반 회의록 개선**: AI Service에서 계속 제공
-**지능형 회의 진행 지원**: AI Service에서 계속 제공
---
## 문서 이력
| 버전 | 작성일 | 작성자 | 변경 내용 |
|------|--------|--------|----------|
| 1.0 | 2025-01-20 | 도그냥 (서비스 기획자) | 초안 작성 (8개 마이크로서비스) |
| 2.0 | 2025-01-22 | 길동 (아키텍트) | 논리 아키텍처 반영 (5개 마이크로서비스로 단순화) |
| 2.0.1 | 2025-10-23 | 강지수 (Product Designer) | 공유 기능 제거 반영 <br>- AFR-USER-020: 대시보드 "공유받은 회의록" 섹션 제거<br>- UFR-MEET-046: 회의록 목록 카테고리 필터 "공유받은 회의" 제거 |
| 2.0.2 | 2025-10-23 | 강지수, 도그냥 | Todo 수정 기능 추가 (UFR-TODO-040)<br>- 회의록 확정 전/후 Todo 수정 기능 추가<br>- 권한별 수정 범위: 담당자(본인 Todo만), 회의 생성자(모든 Todo)<br>- 수정 항목: 제목, 담당자, 마감일, 우선순위<br>- 09-Todo관리, 11-회의록수정 화면에서 수정 가능 |
| 2.0.3 | 2025-10-23 | 강지수 (Product Designer) | 회의록 수정 항목 정책 명확화 (UFR-MEET-055)<br>- 회의 일시/장소: readonly 처리 (회의 예약 화면에서만 변경 가능)<br>- 참석자 관리: 회의 생성자만 추가/삭제 가능 (11-회의록수정 화면에서 직접 관리)<br>- 참석자 UI: 05-회의진행 화면과 동일한 방식으로 구현<br>- 프로토타입: 11-회의록수정.html에 참석자 관리 섹션 추가 |
| 2.0.4 | 2025-10-23 | 강지수 (Product Designer) | 검증완료 섹션 잠금해제 정책 단순화<br>- **정책 변경**: 검증완료 섹션은 회의 생성자만 잠금 해제 후 수정 가능 (참석자는 수정 불가)<br>- **제거**: 참석자용 잠금해제 요청 기능 완전 제거 (공수 절감)<br>- UFR-MEET-055: 권한 제어 명확화 (생성자만 잠금 해제 가능)<br>- UFR-COLLAB-030: 섹션 잠금 기능 설명 업데이트<br>- 프로토타입 11-회의록수정.html: 잠금해제요청 버튼 제거, 검증완료 섹션 읽기 전용 표시 |
| 2.0.5 | 2025-10-23 | 강지수 (Product Designer), 도그냥 (Service Planner) | Todo 및 회의록 관련 요구사항 재정의<br>- **UFR-TODO-040 (09-Todo관리)**: "Todo수정" → "Todo관리" 기능 확장<br> - 통계 블록 재정의: 전체(미완료), 마감임박(3일 이내), 지연(기한 경과)<br> - 필터링: 전체, 지연, 마감임박, 완료 (각 필터에 개수 표시)<br> - 체크박스 확인 모달: 완료/미완료 전환 시 확인<br> - 권한: 담당자 본인 OR 회의 생성자만 편집 가능<br>- **UFR-MEET-047 (10-회의록상세조회)**: 탭 순서 및 기본 노출 변경<br> - 탭 구성: 대시보드 / 회의록<br> - 기본 노출: 대시보드 탭 우선 노출 (기존: 회의록 우선)<br>- **UFR-MEET-055 (11-회의록수정)**: 진입 경로 및 권한 제어 명확화<br> - 진입 경로: 10-회의록상세조회 → "수정" 버튼 클릭<br> - 권한 제어: 검증완료 전(모든 참석자), 검증완료 후(회의 생성자만)<br> - 회의 일시/장소: 읽기 전용 표시 명시 |
| 2.1.0 | 2025-10-24 | 강지수 (Product Designer) | 회의 종료 후 워크플로우 개선 및 안건 기반 회의록 구조 도입<br>- **UFR-MEET-040 (회의종료)**: 회의 종료 시 사용자 선택 옵션 제공<br> - AI가 STT 텍스트를 주요 안건으로 요약 정리 (템플릿 및 메모 항목 반영)<br> - 종료 후 선택: 회의록 수정 화면 이동 OR 대시보드 이동<br> - 회의록 상태: 작성중으로 저장<br>- **UFR-AI-010 (회의록자동작성)**: 실시간 + 종료 시 이중 처리 방식<br> - 시나리오 1: 실시간 AI 주요 메모 작성 (회의 진행 중)<br> - 시나리오 2: 회의 종료 시 전체 안건 요약 (AI 한줄 요약 + 상세 요약)<br>- **UFR-AI-020 (Todo자동추출)**: Todo 기본값 정책 추가<br> - 담당자 기본값: 회의록 생성자<br> - 마감일 기본값: 다음 회의 날짜 OR 오늘<br> - 우선순위 기본값: 보통<br> - Todo 독립성: 회의록 확정 상태와 무관하게 완료 처리 가능<br>- **UFR-AI-036 (AI한줄요약)**: 신규 유저스토리 추가<br> - 각 안건별 편집 불가능한 AI 한줄 요약 (30자 이내)<br> - 편집 가능한 상세 요약과 함께 제공<br>- **UFR-MEET-050 (최종확정)**: 안건 검증 요구사항 추가<br> - 모든 안건 검증 완료 시 최종 확정 가능<br> - 검증률 = 검증 완료된 안건 수 / 전체 안건 수<br>- **UFR-COLLAB-030 (검증완료)**: 안건별 검증으로 변경<br> - 섹션 검증 → 안건별 검증<br> - 11-회의록수정 화면에서 안건별 검증 처리<br> - 06-검증완료 화면 불필요 (11-회의록수정에 통합) |
| 2.1.1 | 2025-10-24 | 강지수 (Product Designer) | 회의 종료 화면 정책 명확화 및 실시간 협업 충돌 방지 개선<br>- **UFR-MEET-040 (회의종료)**: 회의 종료 화면 정책 및 옵션 추가<br> - 회의 종료 화면은 확인 전용 (편집 불가) 명시<br> - 안건별 AI 요약 전체 표시 (한줄 요약 + 상세 요약 + Todo)<br> - 옵션 추가: "바로 최종 확정" (옵션 2)<br> - 3가지 선택 옵션: 회의록 수정 / 바로 최종 확정 / 대시보드 이동<br>- **UFR-COLLAB-020 (충돌해결)**: 안건 기반 충돌 방지 메커니즘 강화<br> - 안건 단위 독립 편집으로 충돌 최소화<br> - 다른 안건 동시 편집 시 충돌 없음<br> - 동일 안건 내 다른 필드 편집 시 자동 병합<br> - 동일 필드 동시 수정 시에만 Last Write Wins 적용<br> - 편집 중 안건 실시간 표시 (편집자 이름 및 아이콘)<br>- **UFR-MEET-050 (최종확정)**: 회의 종료 화면 바로 확정 시나리오 추가<br> - 시나리오 2: 회의 종료 화면에서 바로 최종 확정<br> - 바로 확정 시 모든 안건 자동 검증 완료 처리<br> - 필수 항목 자동 충족 (AI 생성 내용 활용)<br> - 회의록 수정 화면 거치지 않고 바로 확정 완료 |
| 2.1.2 | 2025-10-24 | 강지수 (Product Designer) | 역할 용어 통일 및 권한 체계 명확화<br>- **용어 통일**: "회의록 작성자" → "회의 생성자" 또는 "회의 참석자"로 명확히 구분<br> - 생성자 권한 필요: UFR-MEET-010 (회의예약), UFR-MEET-020 (템플릿선택), UFR-MEET-030 (회의시작), UFR-MEET-040 (회의종료), UFR-MEET-050 (최종확정)<br> - 참석자 권한: UFR-MEET-046 (목록조회), UFR-MEET-047 (상세조회), UFR-AI-010~040 (AI 기능), UFR-RAG-010~020 (RAG 기능)<br>- **역할 정의**:<br> - 생성자: 회의 예약을 생성한 사람 (특별 권한: 참석자 관리, 회의 시작/종료, 최종 확정)<br> - 참석자: 회의에 참여하는 전체 인원 (생성자 포함, 기본 권한: 안건 편집, 검증, Todo 관리)<br>- **권한 체계 명확화**:<br> - 회의록 상세 조회 화면: 역할 표시 "생성자/참석자"로 변경<br> - Todo 편집 권한: 담당자 본인 OR 회의 생성자 |
| 2.1.3 | 2025-10-24 | 강지수 (Product Designer) | 회의록 목록 조회 화면 생성자 표시 기능 추가 (UFR-MEET-046)<br>- **목록 표시 정보 추가**: 생성자 표시 (👑 아이콘)<br> - 현재 사용자가 회의 생성자인 경우 회의록 카드에 👑 아이콘 표시<br> - 아이콘 크기: 16px, title 속성 "생성자"로 툴팁 제공<br>- **UI/UX 설계서 업데이트**: 12-회의록목록조회 화면 UI 구성요소 명세 추가<br>- **스타일 가이드 업데이트**: creator-badge 스타일 추가 (배지 섹션)<br>- **프로토타입 수정**: 12-회의록목록조회.html, common.css<br> - createMeetingCard() 함수: creatorBadge 변수 추가 및 렌더링<br> - common.css: .creator-badge 스타일 정의 |
---