hgzero/design/userstory.md
djeon 6bc2708cec 유저스토리 문서 추가
- 회의록 작성 및 공유 개선을 위한 유저스토리 작성
- 5개의 주요 유저스토리와 세부 시나리오 포함

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-15 17:44:41 +09:00

23 KiB

회의록 작성 및 공유 개선 서비스 - 유저스토리


마이크로서비스 구성

  1. User - 사용자 인증 및 권한 관리
  2. Meeting - 회의 관리, 회의록 생성 및 관리, 회의록 공유
  3. STT - 음성 녹음 관리, 음성-텍스트 변환, 화자 식별
  4. AI - LLM 기반 회의록 자동 작성, Todo 자동 추출
  5. RAG - 전문용어 감지 및 설명 제공, 문서 검색
  6. Collaboration - 실시간 동기화, 버전 관리, 충돌 해결
  7. Todo - Todo 할당 및 관리, 진행 상황 추적
  8. Notification - 알림 발송 및 리마인더 관리
  9. Calendar - 일정 생성 및 외부 캘린더 연동

유저스토리

1. User 서비스
1) 사용자 인증 및 관리
AFR-USER-010: [사용자관리] 시스템 관리자로서 | 나는, 서비스 보안을 위해 | 사용자 인증 및 권한 관리 기능을 원한다.
- 시나리오: 사용자 인증 및 권한 관리
  사용자가 로그인을 시도한 상황에서 | 아이디와 비밀번호를 입력하면 | 인증이 완료되고 권한에 따라 서비스에 접근할 수 있다.
  - [ ] 사용자 인증 (아이디, 비밀번호)
  - [ ] JWT 토큰 기반 인증
  - [ ] 사용자 권한 관리 (관리자, 일반 사용자)
  - [ ] 세션 관리
- M/8

---

2. Meeting 서비스
1) 회의 준비 및 관리
UFR-MEET-010: [회의예약] 회의록 작성자로서 | 나는, 회의를 효율적으로 준비하기 위해 | 회의를 예약하고 참석자를 초대하고 싶다.
- 시나리오: 회의 예약 및 참석자 초대
  회의 예약 화면에 접근한 상황에서 | 회의 제목, 날짜/시간, 장소, 참석자 목록을 입력하고 예약 버튼을 클릭하면 | 회의가 예약되고 참석자에게 초대 이메일이 자동 발송된다.

  [입력 요구사항]
  - 회의 제목: 최대 100자 (필수)
  - 날짜/시간: 날짜 및 시간 선택 (필수)
  - 장소: 최대 200자 (선택)
  - 참석자 목록: 이메일 주소 입력 (최소 1명 필수)

  [처리 결과]
  - 회의가 예약됨 (회의 ID 생성)
  - 일정이 캘린더에 자동 등록됨
  - 참석자에게 초대 이메일 발송됨
  - 회의 시작 30분 전 리마인더 자동 발송

- M/13

---

UFR-MEET-020: [템플릿선택] 회의록 작성자로서 | 나는, 회의록을 효율적으로 작성하기 위해 | 회의 유형에 맞는 템플릿을 선택하고 싶다.
- 시나리오: 회의록 템플릿 선택
  회의 시작 전 템플릿 선택 화면에 접근한 상황에서 | 제공되는 템플릿 중 하나를 선택하고 커스터마이징하면 | 회의록 도구가 준비된다.

  [템플릿 유형]
  - 일반 회의: 기본 구조 (참석자, 안건, 논의 내용, 결정 사항, Todo)
  - 스크럼 회의: 어제 한 일, 오늘 할 일, 이슈
  - 프로젝트 킥오프: 프로젝트 개요, 목표, 일정, 역할, 리스크
  - 주간 회의: 주간 실적, 주요 이슈, 다음 주 계획

  [커스터마이징 옵션]
  - 섹션 추가/삭제
  - 섹션 순서 변경
  - 기본 항목 설정

  [처리 결과]
  - 선택된 템플릿으로 회의록 도구가 준비됨
  - 템플릿 ID와 설정 정보가 저장됨

- S/5

---

UFR-MEET-030: [회의시작] 회의록 작성자로서 | 나는, 회의를 시작하고 회의록을 작성하기 위해 | 회의를 시작하고 음성 녹음을 준비하고 싶다.
- 시나리오: 회의 시작
  예약된 회의 시간에 회의 시작 버튼을 클릭한 상황에서 | 회의 ID를 확인하고 시작하면 | 회의 세션이 생성되고 음성 녹음이 준비된다.

  [회의 시작 조건]
  - 예약된 회의가 존재함
  - 회의 시작 시간이 도래함
  - 회의록 작성자가 시작 권한을 가짐

  [처리 결과]
  - 회의 세션이 생성됨 (세션 ID)
  - 음성 녹음 준비 완료
  - 참석자 목록 표시
  - 회의 시작 시간 기록
  - 실시간 회의록 작성 화면 활성화

- M/8

---

2) 회의 종료 및 완료
UFR-MEET-040: [회의종료] 회의록 작성자로서 | 나는, 회의를 종료하고 회의록을 정리하기 위해 | 회의를 종료하고 통계를 확인하고 싶다.
- 시나리오: 회의 종료
  회의가 진행 중인 상황에서 | 회의 종료 버튼을 클릭하면 | 음성 녹음이 중지되고 회의 통계가 생성된다.

  [회의 종료 처리]
  - 음성 녹음 즉시 중지
  - 회의 종료 시간 기록
  - 회의 통계 자동 생성
    - 회의 총 시간
    - 참석자 수
    - 발언 횟수 (화자별)
    - 주요 키워드

  [처리 결과]
  - 회의가 종료됨
  - 회의 통계 표시
  - 최종 회의록 확정 단계로 이동

- M/8

---

UFR-MEET-050: [최종확정] 회의록 작성자로서 | 나는, 회의록을 완성하기 위해 | 최종 회의록을 확정하고 버전을 생성하고 싶다.
- 시나리오: 최종 회의록 확정
  회의가 종료된 상황에서 | 회의록 내용을 최종 검토하고 확정 버튼을 클릭하면 | 필수 항목이 검사되고 최종 버전이 생성된다.

  [필수 항목 검사]
  - 회의 제목 입력 여부
  - 참석자 목록 작성 여부
  - 주요 논의 내용 작성 여부
  - 결정 사항 작성 여부

  [처리 결과]
  - 최종 회의록 확정됨 (확정 버전 번호)
  - 확정 시간 기록
  - AI가 자동으로 Todo 항목 추출 (UFR-AI-020 연동)
  - 회의록 공유 가능 상태로 전환

  [필수 항목 미작성 시]
  - 누락된 항목 안내 메시지 표시
  - 해당 섹션으로 자동 이동

- M/13

---

3) 회의록 공유
UFR-MEET-060: [회의록공유] 회의록 작성자로서 | 나는, 회의 내용을 참석자들과 공유하기 위해 | 최종 회의록을 공유하고 싶다.
- 시나리오: 회의록 공유
  최종 회의록이 확정된 상황에서 | 공유 버튼을 클릭하고 공유 대상과 권한을 설정하면 | 공유 링크가 생성되고 참석자 전원에게 알림이 발송된다.

  [공유 설정]
  - 공유 대상: 참석자 전체 (기본) / 특정 참석자 선택
  - 공유 권한: 읽기 전용 / 댓글 가능 / 편집 가능
  - 공유 방식: 이메일 / 슬랙 / 링크 복사

  [처리 결과]
  - 공유 링크 생성 (고유 URL)
  - 참석자에게 이메일/슬랙 알림 발송
  - 공유 시간 기록
  - 다음 회의 일정이 언급된 경우 캘린더에 자동 등록 (UFR-CAL-010 연동)

  [공유 링크 보안]
  - 링크 유효 기간 설정 (선택)
  - 비밀번호 설정 (선택)

- M/13

---

3. STT 서비스
1) 음성 인식 및 변환
UFR-STT-010: [음성녹음인식] 회의 참석자로서 | 나는, 발언 내용이 자동으로 기록되기 위해 | 음성이 실시간으로 녹음되고 인식되기를 원한다.
- 시나리오: 음성 녹음 및 발언 인식
  회의가 시작된 상황에서 | 참석자가 발언을 시작하면 | 음성이 자동으로 녹음되고 화자가 식별되며 발언이 인식된다.

  [음성 녹음 처리]
  - 오디오 스트림 실시간 캡처
  - 회의 ID와 연결
  - 음성 데이터 저장 (클라우드 스토리지)

  [발언 인식 처리]
  - AI 음성인식 엔진 연동 (Whisper, Google STT 등)
  - 화자 자동 식별
    - 참석자 목록 매칭
    - 음성 특징 분석
  - 타임스탬프 기록
  - 발언 구간 구분

  [처리 결과]
  - 음성 녹음이 시작됨 (녹음 ID)
  - 발언이 인식됨 (발언 ID, 화자, 타임스탬프)
  - 실시간으로 텍스트 변환 요청 (UFR-STT-020 연동)

  [성능 요구사항]
  - 발언 인식 지연 시간: 1초 이내
  - 화자 식별 정확도: 90% 이상

- M/21

---

UFR-STT-020: [텍스트변환] 회의록 시스템으로서 | 나는, 인식된 발언을 회의록에 기록하기 위해 | 음성을 텍스트로 변환하고 싶다.
- 시나리오: 음성-텍스트 변환
  발언이 인식된 상황에서 | AI 음성인식 엔진에 텍스트 변환을 요청하면 | 음성이 텍스트로 변환되고 정확도와 함께 반환된다.

  [텍스트 변환 처리]
  - 인식된 발언 데이터 전달
  - 언어 설정 (한국어, 영어 등)
  - AI 음성인식 엔진 처리
  - 문장 부호 자동 추가
  - 숫자/날짜 형식 정규화

  [처리 결과]
  - 텍스트가 변환됨 (텍스트 ID)
  - 변환된 내용 (원문 텍스트)
  - 정확도 점수 (0-100%)
  - AI 회의록 자동 작성 요청 (UFR-AI-010 연동)

  [정확도 낮은 경우]
  - 정확도 60% 미만 시 경고 표시
  - 수동 수정 인터페이스 제공

- M/13

---

4. AI 서비스
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

---

5. RAG 서비스
1) 전문용어 지원
UFR-RAG-010: [전문용어감지] 회의록 작성자로서 | 나는, 업무 지식이 없어도 회의록을 정확히 작성하기 위해 | 전문용어가 자동으로 감지되고 설명을 제공받고 싶다.
- 시나리오: 전문용어 자동 감지
  회의록이 작성되는 상황에서 | 시스템이 회의록 텍스트를 분석하면 | 전문용어가 자동으로 감지되고 하이라이트 표시된다.

  [전문용어 감지 처리]
  - 회의록 텍스트 실시간 분석
  - 용어 사전과 비교
    - 조직별 전문용어 DB
    - 산업별 표준 용어 DB
  - 신뢰도 계산 (0-100%)
  - 감지된 용어 위치 기록

  [처리 결과]
  - 전문용어가 감지됨
  - 감지된 용어 정보
    - 용어명
    - 감지 위치 (줄 번호, 문단)
    - 신뢰도 점수
  - 용어 하이라이트 표시
  - RAG 검색 자동 실행 (UFR-RAG-020 연동)

  [Policy/Rule]
  - 신뢰도 70% 이상만 자동 감지
  - 중복 용어는 첫 번째만 하이라이트

- S/13

---

UFR-RAG-020: [용어설명제공] 회의록 작성자로서 | 나는, 전문용어를 이해하기 위해 | 용어에 대한 설명을 자동으로 제공받고 싶다.
- 시나리오: 용어 설명 자동 제공
  전문용어가 감지된 상황에서 | RAG 시스템이 용어 설명을 검색하면 | 과거 회의록 및 사내 문서에서 관련 설명이 생성되어 제공된다.

  [RAG 검색 수행]
  - 벡터 유사도 검색
    - 과거 회의록 검색
    - 사내 문서 저장소 검색 (위키, 매뉴얼, 보고서)
  - 관련 문서 추출 (관련도 점수순)
  - 최대 5개 문서 선택

  [LLM 설명 생성]
  - 검색된 문서 내용 분석
  - 용어 정의 추출
  - 회의 맥락에 맞는 설명 생성
    - 간단한 정의 (1-2문장)
    - 상세 설명
    - 사용 예시
    - 참조 출처

  [처리 결과]
  - 용어 설명이 생성됨 (설명 ID)
  - 설명 내용
    - 간단한 정의
    - 상세 설명
    - 참조 문서 링크
  - 툴팁 또는 사이드 패널로 표시
  - 설명 제공 시간 기록

  [설명을 찾지 못한 경우]
  - "설명을 찾을 수 없습니다" 메시지 표시
  - 전문가(회의 참석자)에게 설명 요청 버튼 제공
  - 수동 입력된 설명은 용어 사전에 자동 저장

- S/21

---

6. Collaboration 서비스
1) 실시간 협업
UFR-COLLAB-010: [회의록수정동기화] 회의 참석자로서 | 나는, 회의록을 함께 검증하기 위해 | 회의록을 수정하고 실시간으로 다른 참석자와 동기화하고 싶다.
- 시나리오: 회의록 실시간 수정 및 동기화
  회의록이 작성된 상황에서 | 참석자가 회의록 내용을 수정하면 | 수정 사항이 버전 관리되고 웹소켓을 통해 모든 참석자에게 즉시 동기화된다.

  [회의록 수정 처리]
  - 수정 내용 검증
    - 수정 권한 확인
    - 수정 범위 제한 (잠긴 섹션은 수정 불가)
  - 수정 이력 저장
    - 수정자
    - 수정 시간
    - 수정 전/후 내용
    - 수정 위치
  - 버전 관리
    - 새 버전 번호 생성
    - 이전 버전 보관

  [실시간 동기화]
  - 웹소켓을 통해 수정 델타 전송
    - 전체 내용이 아닌 변경 부분만 전송 (효율성)
  - 모든 참석자 화면에 실시간 반영
  - 수정자 표시 (아바타, 이름)
  - 수정 영역 하이라이트 (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. Todo 서비스
1) Todo 관리
UFR-TODO-010: [Todo할당] Todo 시스템으로서 | 나는, AI가 추출한 Todo를 담당자에게 전달하기 위해 | Todo를 할당하고 알림을 발송하고 싶다.
- 시나리오: Todo 자동 할당
  AI가 Todo를 추출한 상황에서 | 시스템이 Todo를 등록하고 담당자를 지정하면 | Todo가 할당되고 담당자에게 즉시 알림이 발송되며 캘린더에 마감일이 등록된다.

  [Todo 등록]
  - Todo 정보 저장
    - Todo ID 생성
    - Todo 내용
    - 담당자 (AI 자동 식별 또는 수동 지정)
    - 마감일 (언급된 경우 자동 설정, 없으면 수동 설정)
    - 우선순위 (높음/보통/낮음)
    - 관련 회의록 링크

  [알림 발송]
  - 담당자에게 즉시 알림
    - 이메일
    - 슬랙 (연동된 경우)
  - 알림 내용
    - Todo 내용
    - 마감일
    - 회의록 링크

  [캘린더 연동]
  - 마감일이 있는 경우 캘린더에 자동 등록
  - 마감일 3일 전 리마인더 일정 생성

  [처리 결과]
  - Todo가 할당됨 (Todo ID)
  - 담당자 정보
  - 마감일
  - 할당 시간
  - 담당자에게 알림이 발송됨
  - 캘린더 등록 완료

  [Policy/Rule]
  - Todo 할당 시 담당자에게 즉시 알림 발송

- M/13

---

UFR-TODO-020: [Todo진행상황업데이트] Todo 담당자로서 | 나는, Todo 진행 상황을 공유하기 위해 | 진행률을 업데이트하고 상태를 변경하고 싶다.
- 시나리오: Todo 진행 상황 업데이트
  할당된 Todo가 있는 상황에서 | 담당자가 진행률과 상태를 입력하면 | 진행 상황이 저장되고 회의 주최자에게 알림이 발송된다.

  [진행 상황 입력]
  - 진행률: 0-100% (슬라이더 또는 직접 입력)
  - 상태: 시작 전 / 진행 중 / 완료
  - 메모: 진행 상황 설명 (선택)

  [진행 상황 저장]
  - 업데이트 시간 기록
  - 진행률 히스토리 저장
  - 상태 변경 이력 저장

  [알림 발송]
  - 회의 주최자에게 진행 상황 알림
  - 진행률이 50%, 100%에 도달하면 자동 알림

  [처리 결과]
  - Todo 진행 상황이 업데이트됨
  - 업데이트 시간
  - 진행률 (%)
  - 상태 (시작 전/진행 중/완료)
  - 회의록에 진행 상황 반영

- M/5

---

UFR-TODO-030: [Todo완료처리] Todo 담당자로서 | 나는, 완료된 Todo를 처리하기 위해 | Todo를 완료하고 회의록에 자동 반영하고 싶다.
- 시나리오: Todo 완료 처리
  Todo 작업이 완료된 상황에서 | 담당자가 완료 버튼을 클릭하면 | Todo가 완료 상태로 변경되고 회의록에 자동 반영되며 회의 주최자에게 알림이 발송된다.

  [완료 처리]
  - 완료 시간 자동 기록
  - 완료자 정보 저장
  - 완료 상태로 변경
  - 완료 여부 확인 다이얼로그 표시

  [회의록 반영]
  - 관련 회의록의 Todo 섹션 업데이트
  - 완료 표시 (체크 아이콘)
  - 완료 시간 기록

  [알림 발송]
  - 회의 주최자에게 완료 알림
  - 모든 Todo 완료 시 전체 완료 알림

  [처리 결과]
  - Todo가 완료됨
  - 완료 시간
  - 완료자 정보
  - 회의록에 완료 상태가 반영됨
  - 반영 시간
  - 회의록 버전 업데이트

  [Policy/Rule]
  - Todo 완료 시 회의록에 완료 상태 자동 반영
  - 모든 Todo 완료 시 회의 주최자에게 완료 알림

- M/8

---

8. Notification 서비스
1) 알림 관리
UFR-NOTI-010: [알림리마인더] 회의 참석자로서 | 나는, 중요한 일정을 놓치지 않기 위해 | 회의 및 Todo 관련 알림과 리마인더를 받고 싶다.
- 시나리오 1: 회의 알림
  회의가 예약된 상황에서 | 회의 시작 30분 전이 되면 | 참석자에게 리마인더가 자동 발송된다.

  [회의 알림 유형]
  - 회의 초대: 회의 예약 시
  - 회의 시작 리마인더: 30분 전
  - 회의록 공유: 회의 종료 후

- 시나리오 2: Todo 알림
  Todo가 할당된 상황에서 | 마감일 3일 전이 되면 | 담당자에게 리마인더가 자동 발송된다.

  [Todo 알림 유형]
  - Todo 할당: 할당 즉시
  - 마감일 3일 전 리마인더
  - 마감일 당일 리마인더
  - 마감일 경과 긴급 알림 (미완료 시)
  - Todo 완료: 완료 시

  [알림 채널]
  - 이메일 (기본)
  - 슬랙 (연동 시)
  - 인앱 알림

  [알림 설정]
  - 알림 채널 선택
  - 알림 시간 설정
  - 알림 끄기/켜기

  [처리 결과]
  - 알림이 발송됨 (알림 ID)
  - 알림 대상 (이메일 주소, 슬랙 ID)
  - 알림 내용
  - 발송 시간
  - 발송 채널
  - 발송 상태 (성공/실패)

  [Policy/Rule]
  - 회의 시작 30분 전 리마인더 자동 발송
  - 마감일 3일 전 자동 리마인더 발송
  - 마감일 당일 미완료 시 긴급 알림 발송

- M/13

---

9. Calendar 서비스
1) 일정 관리
UFR-CAL-010: [일정연동] 회의록 작성자로서 | 나는, 일정을 통합 관리하기 위해 | 회의 및 다음 회의 일정을 외부 캘린더에 자동으로 연동하고 싶다.
- 시나리오 1: 회의 일정 자동 등록
  회의가 예약된 상황에서 | 시스템이 일정 동기화를 요청하면 | 회의 일정이 Google Calendar, Outlook 등 외부 캘린더에 자동으로 등록된다.

  [일정 등록 정보]
  - 회의 제목
  - 날짜 및 시간
  - 장소
  - 참석자 목록
  - 회의록 링크 (메모)

- 시나리오 2: 다음 회의 일정 연동
  회의록에서 다음 회의 일정이 언급된 상황에서 | 시스템이 자동으로 감지하면 | 다음 회의 일정이 캘린더에 자동으로 생성된다.

  [자동 감지 키워드]
  - "다음 회의: ~"
  - "~에 다시 모이기로 함"
  - "후속 회의 일정: ~"

  [처리 결과]
  - 일정이 캘린더에 연동됨 (일정 ID)
  - 연동 상태 (성공/실패)
  - 캘린더 종류 (Google Calendar, Outlook)
  - 연동 시간

  [지원 캘린더]
  - Google Calendar
  - Microsoft Outlook
  - Apple Calendar

  [Policy/Rule]
  - 다음 회의 일정이 언급되면 자동으로 캘린더에 등록

- S/13

---