mirror of
https://github.com/hwanny1128/HGZero.git
synced 2025-12-06 21:56:24 +00:00
[유저스토리 v2.0.5] - UFR-TODO-040 (09-Todo관리): "Todo수정" → "Todo관리" 기능 확장 - 통계 블록 재정의: 전체(미완료), 마감임박(3일 이내), 지연(기한 경과) - 필터링: 전체, 지연, 마감임박, 완료 (각 필터에 개수 표시) - 체크박스 확인 모달: 완료/미완료 전환 시 확인 - 권한: 담당자 본인 OR 회의록 작성자만 편집 가능 - UFR-MEET-047 (10-회의록상세조회): 탭 순서 및 기본 노출 변경 - 탭 구성: 대시보드 / 회의록 - 기본 노출: 대시보드 탭 우선 노출 - UFR-MEET-055 (11-회의록수정): 진입 경로 및 권한 제어 명확화 - 진입 경로: 10-회의록상세조회 → "수정" 버튼 클릭 - 권한 제어: 검증완료 전(모든 참석자), 검증완료 후(회의 생성자만) - 회의 일시/장소: 읽기 전용 표시 명시 [화면설계서 v1.4.7] - 09-Todo관리: 통계, 필터, 모달 UI/UX 재정의 - 10-회의록상세조회: 탭 순서 변경, 대시보드 탭 기본 활성 - 11-회의록수정: 진입 경로, 권한 제어, UI 구성 명확화 [프로토타입] - 09-Todo관리.html: 통계 블록, 필터 개수, 체크박스 확인 모달 구현 - 10-회의록상세조회.html: 탭 순서 및 active 클래스 변경 - 11-회의록수정.html: 권한 코멘트, 읽기 전용 표시 추가 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1100 lines
45 KiB
Markdown
1100 lines
45 KiB
Markdown
# AI기반 회의록 작성 및 이력 관리 개선 서비스 - 유저스토리 (v2.0.5)
|
||
|
||
- [AI기반 회의록 작성 및 이력 관리 개선 서비스 - 유저스토리 (v2.0.5)](#ai기반-회의록-작성-및-이력-관리-개선-서비스---유저스토리-v205)
|
||
- [차별화 전략](#차별화-전략)
|
||
- [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: [회의종료] 회의록 작성자로서 | 나는, 회의를 종료하고 회의록을 정리하기 위해 | 회의를 종료하고 통계를 확인하고 싶다.
|
||
- 시나리오: 회의 종료
|
||
회의가 진행 중인 상황에서 | 회의 종료 버튼을 클릭하면 | 음성 녹음이 중지되고 회의 통계가 생성된다.
|
||
|
||
[회의 종료 처리]
|
||
- 음성 녹음 즉시 중지
|
||
- 회의 종료 시간 기록
|
||
- 회의 통계 자동 생성
|
||
- 회의 총 시간
|
||
- 참석자 수
|
||
- 발언 횟수 (화자별)
|
||
- 주요 키워드
|
||
|
||
[처리 결과]
|
||
- 회의가 종료됨
|
||
- 회의 통계 표시
|
||
- 검증 완료 시 최종 회의록 확정 단계로 이동
|
||
|
||
[검증 미완료 시]
|
||
- 검증이 안된 항목이 있다면 회의록 히스토리 페이지에서 추후 수정 가능
|
||
|
||
- M/8
|
||
|
||
---
|
||
|
||
UFR-MEET-050: [최종확정] 회의록 작성자로서 | 나는, 회의록을 완성하기 위해 | 최종 회의록을 확정하고 버전을 생성하고 싶다.
|
||
- 시나리오: 최종 회의록 확정
|
||
회의가 종료된 상황에서 | 회의록 내용을 최종 검토하고 확정 버튼을 클릭하면 | 필수 항목이 검사되고 최종 버전이 생성된다.
|
||
|
||
[필수 항목 검사]
|
||
- 회의 제목 입력 여부
|
||
- 참석자 목록 작성 여부
|
||
- 주요 논의 내용 작성 여부
|
||
- 결정 사항 작성 여부
|
||
|
||
[처리 결과]
|
||
- 최종 회의록 확정됨 (확정 버전 번호)
|
||
- 확정 시간 기록
|
||
- AI가 자동으로 Todo 항목 추출 (UFR-AI-020 연동)
|
||
- 회의록 확정 상태로 전환
|
||
|
||
[필수 항목 미작성 시]
|
||
- 누락된 항목 안내 메시지 표시
|
||
- 해당 섹션으로 자동 이동
|
||
|
||
- M/13
|
||
|
||
---
|
||
|
||
UFR-MEET-046: [회의록목록조회] 회의록 작성자로서 | 나는, 작성한 회의록들을 효율적으로 관리하기 위해 | 회의록 목록을 조회하고 필터링하고 싶다.
|
||
- 시나리오: 회의록 목록 조회 및 필터링
|
||
대시보드에서 "회의록" 메뉴를 클릭하면 | 회의록 목록이 표시되고 | 다양한 필터와 검색으로 원하는 회의록을 찾을 수 있다.
|
||
|
||
[화면 정보]
|
||
- 화면번호: 12-회의록목록조회
|
||
- 프로토타입: design/uiux/prototype/12-회의록목록조회.html
|
||
|
||
[회의록 목록 조회]
|
||
- 회의록 상태별 필터링: 전체 / 작성중 / 확정완료
|
||
- 정렬 옵션: 최신순 / 회의일시순 / 제목순
|
||
- 카테고리 필터: 전체 / 참석한 회의
|
||
- 검색 기능: 회의 제목, 참석자, 키워드로 검색
|
||
- 통계 표시: 전체 개수, 작성중 개수, 확정완료 개수
|
||
- 목록 표시 정보:
|
||
- 회의 제목
|
||
- 회의 일시
|
||
- 참석자 수
|
||
- 회의록 상태 (작성중/확정완료)
|
||
- 검증 완료율 (작성중인 경우)
|
||
- 권한 정보 (조회 전용 표시)
|
||
- 마지막 수정 시간
|
||
|
||
[처리 결과]
|
||
- 필터/정렬/검색 조건에 맞는 회의록 목록 표시
|
||
- 회의록 클릭 시 상세 조회 화면으로 이동
|
||
- 모바일/태블릿/데스크톱 반응형 레이아웃
|
||
|
||
- 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와 연결
|
||
- 음성 데이터 저장 (Azure 스토리지)
|
||
|
||
[발언 인식 처리]
|
||
- AI 음성인식 엔진 연동 (Azure Speech 등)
|
||
- 화자 자동 식별
|
||
- 참석자 목록 매칭
|
||
- 음성 특징 분석
|
||
- 타임스탬프 기록
|
||
- 발언 구간 구분
|
||
|
||
[처리 결과]
|
||
- 음성 녹음이 시작됨 (녹음 ID)
|
||
- 발언이 인식됨 (발언 ID, 화자, 타임스탬프)
|
||
- 실시간으로 텍스트 변환 요청 (UFR-STT-020 연동)
|
||
|
||
[성능 요구사항]
|
||
- 발언 인식 지연 시간: 1초 이내
|
||
- 화자 식별 정확도: 90% 이상
|
||
|
||
[비고]
|
||
- 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가 발언 내용을 자동으로 정리하여 회의록을 작성하기를 원한다.
|
||
- 시나리오: AI 회의록 자동 작성
|
||
텍스트가 변환된 상황에서 | LLM에 회의록 자동 작성을 요청하면 | 회의 맥락을 이해하고 구조화된 회의록 초안이 생성된다.
|
||
|
||
[AI 처리 과정]
|
||
- 변환된 텍스트와 회의 맥락(제목, 참석자, 이전 내용) 분석
|
||
- 회의 내용 이해
|
||
- 주제별 분류
|
||
- 발언자별 의견 정리
|
||
- 중요 키워드 추출
|
||
- 문장 다듬기
|
||
- 구어체 → 문어체 변환
|
||
- 불필요한 표현 제거
|
||
- 문법 교정
|
||
- 구조화
|
||
- 회의록 템플릿에 맞춰 정리
|
||
- 주제, 발언자, 내용 구조화
|
||
- 요약문 생성
|
||
|
||
[처리 결과]
|
||
- 회의록 초안이 생성됨 (회의록 버전)
|
||
- 생성 시간 기록
|
||
- 구조화된 내용
|
||
- 논의 주제
|
||
- 발언자별 의견
|
||
- 결정 사항
|
||
- 보류 사항
|
||
- 참석자에게 실시간 동기화 (UFR-COLLAB-010 연동)
|
||
|
||
[Policy/Rule]
|
||
- 텍스트 변환되면 자동으로 회의록 구조에 맞춰 정리
|
||
- 실시간 업데이트 (3-5초 간격)
|
||
|
||
- M/34
|
||
|
||
---
|
||
|
||
2) Todo 자동 추출
|
||
UFR-AI-020: [Todo자동추출] 회의록 작성자로서 | 나는, 회의 후 실행 사항을 명확히 하기 위해 | AI가 회의록에서 Todo 항목을 자동으로 추출하고 담당자를 식별하기를 원한다.
|
||
- 시나리오: AI Todo 자동 추출
|
||
회의가 종료된 상황에서 | 최종 회의록을 분석하여 Todo 자동 추출을 요청하면 | 액션 아이템이 식별되고 담당자가 자동으로 지정된다.
|
||
|
||
[AI 분석 과정]
|
||
- 회의록 전체 내용 분석
|
||
- 액션 아이템 식별
|
||
- "~하기로 함", "~까지 완료", "~담당" 등 키워드 탐지
|
||
- 명령형 문장 분석
|
||
- 마감일 언급 추출
|
||
- 담당자 자동 식별
|
||
- 발언 내용 기반 ("제가 하겠습니다", "~님이 담당")
|
||
- 직책/역할 기반 매칭
|
||
- 과거 회의록 패턴 학습
|
||
|
||
[처리 결과]
|
||
- Todo가 자동 추출됨
|
||
- 추출된 항목 수
|
||
- 각 Todo별 정보
|
||
- Todo 내용
|
||
- 담당자 (자동 식별)
|
||
- 마감일 (언급된 경우)
|
||
- 우선순위 (언급된 경우)
|
||
- 관련 회의록 섹션 링크
|
||
- Todo 서비스에 자동 전달 (UFR-TODO-010 연동)
|
||
|
||
[담당자 식별 실패 시]
|
||
- 미지정 상태로 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
|
||
|
||
---
|
||
|
||
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: [충돌해결] 회의 참석자로서 | 나는, 동시 수정 상황에서도 내용을 잃지 않기 위해 | 충돌을 감지하고 해결하고 싶다.
|
||
- 시나리오: 동시 수정 충돌 해결
|
||
두 명의 참석자가 동일한 위치를 동시에 수정한 상황에서 | 시스템이 충돌을 감지하면 | 충돌 알림이 표시되고 해결 방법을 선택할 수 있다.
|
||
|
||
[충돌 감지]
|
||
- 동일 위치 동시 수정 탐지
|
||
- 라인 단위 비교
|
||
- 버전 기반 충돌 확인
|
||
- 충돌 정보 생성
|
||
- 충돌 위치
|
||
- 관련 수정자 2명
|
||
- 각자의 수정 내용
|
||
|
||
[충돌 해결 방식]
|
||
- Last Write Wins (기본)
|
||
- 가장 최근 수정이 우선
|
||
- 이전 수정은 버전 이력에 보관
|
||
- 수동 병합 (선택)
|
||
- 충돌 내용 비교 UI 표시
|
||
- 사용자가 최종 내용 선택
|
||
- A 선택 / B 선택 / 직접 작성
|
||
|
||
[처리 결과]
|
||
- 충돌이 감지됨 (충돌 ID)
|
||
- 충돌 위치
|
||
- 관련 수정자
|
||
- 충돌이 해결됨
|
||
- 해결 방법 (Last Write Wins / 수동 병합)
|
||
- 최종 내용
|
||
- 해결된 내용 실시간 동기화
|
||
|
||
[Policy/Rule]
|
||
- 동시 수정 발생 시 최종 수정이 우선 (Last Write Wins) 또는 충돌 알림
|
||
|
||
- M/21
|
||
|
||
---
|
||
|
||
UFR-COLLAB-030: [검증완료] 회의 참석자로서 | 나는, 회의록의 정확성을 보장하기 위해 | 주요 섹션을 검증하고 완료 표시를 하고 싶다.
|
||
- 시나리오: 회의록 검증 완료
|
||
회의록 내용을 확인한 상황에서 | 참석자가 검증 완료 버튼을 클릭하면 | 검증 상태가 업데이트되고 다른 참석자에게 동기화된다.
|
||
|
||
[검증 처리]
|
||
- 검증자 정보 기록
|
||
- 검증 시간 기록
|
||
- 검증 대상 섹션 기록
|
||
- 검증 상태 업데이트
|
||
- 미검증 → 검증 중 → 검증 완료
|
||
|
||
[섹션 잠금 기능]
|
||
- 회의 생성자만 잠금/해제 가능
|
||
- 주요 섹션 검증 완료 시 잠금 가능 (선택)
|
||
- 잠긴 섹션은 회의 생성자만 잠금 해제 후 수정 가능
|
||
- 참석자는 검증완료된 섹션을 읽기 전용으로만 확인 가능
|
||
|
||
[처리 결과]
|
||
- 검증이 완료됨
|
||
- 검증자 정보
|
||
- 검증 상태 (검증 완료)
|
||
- 완료 시간
|
||
- 검증 완료 상태 실시간 동기화
|
||
- 검증 배지 표시 (체크 아이콘)
|
||
- 검증 완료 시 전체 메일로 알림이 발송된다.
|
||
|
||
[Policy/Rule]
|
||
- 주요 섹션 검증 완료 시 해당 섹션 잠금 가능
|
||
|
||
- 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> - 회의 일시/장소: 읽기 전용 표시 명시 |
|
||
|
||
--- |