용어 통일: 참석자/참석 → 참여자/참여 변경 (v1.5.9)

- 화면설계서(uiux.md): 100개 인스턴스 변경
  - "참석자" → "참여자" (88개)
  - "참석" → "참여" (12개)
- 유저스토리(userstory.md): 132개 인스턴스 변경
  - "참석자" → "참여자" (125개)
  - "참석" → "참여" (7개)
- 프로토타입: 34개 인스턴스 변경 (7개 HTML 파일)
  - "참석자" → "참여자" (32개)
  - "참석" → "참여" (2개)

총 266개 인스턴스 변경으로 사용자 역할 용어 완전 통일 (생성자/참여자 체계)

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
yabo0812 2025-10-28 20:03:30 +09:00
parent bac1bcb4c4
commit 96a4d74a43
9 changed files with 851 additions and 983 deletions

View File

@ -725,7 +725,7 @@
} else if (meetingStatus === 'draft' || meetingStatus === 'complete' || meetingStatus === 'completed') {
navigateTo('10-회의록상세조회.html');
} else if (meetingStatus === 'scheduled') {
// 생성자: 회의예약 화면(수정), 참자: 시스템 알럿
// 생성자: 회의예약 화면(수정), 참자: 시스템 알럿
if (isCreator) {
navigateTo('03-회의예약.html');
} else {
@ -791,7 +791,7 @@
// 예정된 회의 개수 (예정 + 진행중)
const scheduled = SAMPLE_MEETINGS.filter(m => m.status === 'scheduled' || m.status === 'ongoing').length;
// 작성중 회의록 개수 (내가 참한 회의 중 '작성중' 상태)
// 작성중 회의록 개수 (내가 참한 회의 중 '작성중' 상태)
const drafts = SAMPLE_MINUTES.filter(m =>
m.status === 'draft' &&
m.participants.some(p => p.id === currentUser.id)

View File

@ -226,7 +226,7 @@
transform: translateX(22px);
}
/* 참자 */
/* 참자 */
.participants-chips {
display: flex;
flex-wrap: wrap;
@ -420,18 +420,18 @@
</div>
</section>
<!---->
<!---->
<section class="form-section">
<h2 class="section-title">자 *</h2>
<h2 class="section-title">자 *</h2>
<!--자 칩 -->
<!--자 칩 -->
<div class="participants-chips" id="participants-chips">
<!-- 동적으로 생성 -->
</div>
<!--자 추가 버튼 -->
<!--자 추가 버튼 -->
<button type="button" class="add-participant-btn" id="add-participant-btn">
자 추가
자 추가
</button>
</section>
@ -459,11 +459,11 @@
<button type="submit" form="meeting-form" class="btn btn-primary">예약 완료</button>
</div>
<!--자 추가 모달 -->
<!--자 추가 모달 -->
<div class="modal-overlay" id="add-participant-modal">
<div class="modal">
<div class="modal-header">
<h3 class="modal-title">자 추가</h3>
<h3 class="modal-title">자 추가</h3>
<button class="modal-close"></button>
</div>
<div class="modal-body">
@ -504,7 +504,7 @@
avatarColor: storedUser.avatarColor || CURRENT_USER.avatarColor
} : CURRENT_USER;
// 참자 목록 (현재 사용자는 기본 포함)
// 참자 목록 (현재 사용자는 기본 포함)
let participants = [currentUser];
// 폼 요소
@ -670,7 +670,7 @@
}
/**
* 참자 칩 렌더링
* 참자 칩 렌더링
*/
function renderParticipantChips() {
participantsChipsContainer.innerHTML = participants.map(p => `
@ -693,10 +693,10 @@
}
/**
* 참자 검색 결과 렌더링
* 참자 검색 결과 렌더링
*/
function renderSearchResults(query) {
// 샘플 사용자 목록에서 이미 추가된 참자 제외
// 샘플 사용자 목록에서 이미 추가된 참자 제외
const availableUsers = SAMPLE_USERS.filter(u =>
!participants.some(participant => participant.id === u.id)
);
@ -761,7 +761,7 @@
}
if (participants.length === 0) {
showToast('최소 1명의 참자를 추가해주세요', 'error');
showToast('최소 1명의 참자를 추가해주세요', 'error');
return false;
}
@ -855,13 +855,13 @@
showToast('회의 링크가 생성되었습니다', 'success');
});
// 참자 추가
// 참자 추가
addParticipantBtn.addEventListener('click', () => {
openModal('add-participant-modal');
renderSearchResults('');
});
// 참자 검색
// 참자 검색
participantSearch.addEventListener('input', () => {
renderSearchResults(participantSearch.value);
});

View File

@ -294,7 +294,7 @@
overflow-wrap: break-word;
}
/* 참자 탭 */
/* 참자 탭 */
.participant-section-header {
display: flex;
justify-content: space-between;
@ -679,7 +679,7 @@
<div class="tabs-container">
<div class="tabs-header">
<button class="tab-button active" onclick="switchTab('participants')">
</button>
<button class="tab-button" onclick="switchTab('ai-suggestions')">
AI 메모
@ -692,10 +692,10 @@
</button>
</div>
<!--자 탭 -->
<!--자 탭 -->
<div class="tab-content active" id="tab-participants">
<div class="participant-section-header">
<h3 class="participant-section-title">자 관리</h3>
<h3 class="participant-section-title">자 관리</h3>
<span class="participant-count">총 4명</span>
</div>
@ -1043,7 +1043,7 @@
document.getElementById(`tab-${tabName}`).classList.add('active');
}
// 참자 초대
// 참자 초대
function inviteParticipant() {
const emailInput = document.getElementById('inviteEmail');
const email = emailInput.value.trim();

View File

@ -272,7 +272,7 @@
<div class="stats-grid">
<div class="stat-item">
<div class="stat-value" id="participantsValue">4명</div>
<div class="stat-label"></div>
<div class="stat-label"></div>
</div>
<div class="stat-item">
<div class="stat-value" id="durationValue">90분</div>
@ -571,7 +571,7 @@
// 바로 최종 확정
function confirmMeetingDirectly() {
if (confirm('AI가 정리한 내용 그대로 최종 확정하시겠습니까?\n\n모든 안건이 자동으로 검증 완료 처리되며, 참자에게 확정 알림이 발송됩니다.')) {
if (confirm('AI가 정리한 내용 그대로 최종 확정하시겠습니까?\n\n모든 안건이 자동으로 검증 완료 처리되며, 참자에게 확정 알림이 발송됩니다.')) {
showToast('회의록이 최종 확정되었습니다', 'success');
setTimeout(() => {
navigateTo('02-대시보드.html');

View File

@ -1083,7 +1083,7 @@
<div class="stats-grid">
<div class="stat-item">
<div class="stat-value">4명</div>
<div class="stat-label"></div>
<div class="stat-label"></div>
</div>
<div class="stat-item">
<div class="stat-value">90분</div>

View File

@ -246,7 +246,7 @@
}
.agenda-verification:not([data-is-creator="true"]) .creator-only {
display: none; /* 참자 환경에서는 숨김 */
display: none; /* 참자 환경에서는 숨김 */
}
.agenda-verification:not(.verified) .creator-only {
@ -339,11 +339,11 @@
10-회의록상세조회.html → 하단 액션 바 "수정" 버튼 클릭
[권한 제어]
- 검증완료 전 (작성중/초안 상태): 모든 참자가 수정 가능
- 검증완료 후: 회의 생성자만 수정 가능 (참자는 "수정" 버튼 비활성화)
- 참자 관리: 회의 생성자만 추가/삭제 가능
- 검증완료 전 (작성중/초안 상태): 모든 참자가 수정 가능
- 검증완료 후: 회의 생성자만 수정 가능 (참자는 "수정" 버튼 비활성화)
- 참자 관리: 회의 생성자만 추가/삭제 가능
- 회의 일시/장소: 읽기 전용 (회의 예약 화면에서만 변경 가능)
- 안건별 검증: 회의 생성자는 잠금 해제 후 수정 가능, 참자는 읽기 전용
- 안건별 검증: 회의 생성자는 잠금 해제 후 수정 가능, 참자는 읽기 전용
- AI 한줄 요약: 모든 사용자에게 읽기 전용 (UFR-AI-036)
-->
@ -469,7 +469,7 @@
</div>
<!-- 안건별 검증 (UFR-COLLAB-030) -->
<!--자: 체크박스만 표시 (검증완료 시 읽기 전용) -->
<!--자: 체크박스만 표시 (검증완료 시 읽기 전용) -->
<!-- 생성자: 검증완료 시 "잠금 해제" 버튼 표시 -->
<div class="agenda-verification verified" id="verify-agenda-1" data-is-creator="true">
<input type="checkbox" class="checkbox" id="verify-1" checked disabled>
@ -546,7 +546,7 @@
</div>
<!-- 안건별 검증 (UFR-COLLAB-030) -->
<!--자: 체크박스만 표시 (검증완료 시 읽기 전용) -->
<!--자: 체크박스만 표시 (검증완료 시 읽기 전용) -->
<!-- 생성자: 검증완료 시 "잠금 해제" 버튼 표시 -->
<div class="agenda-verification verified" id="verify-agenda-2" data-is-creator="true">
<input type="checkbox" class="checkbox" id="verify-2" checked disabled>

View File

@ -513,7 +513,7 @@
<!-- 참여 유형 탭 (다중 선택 가능) -->
<div class="participation-tabs">
<button class="participation-tab" data-type="attended" onclick="toggleParticipationType('attended')">
한 회의
한 회의
</button>
<button class="participation-tab" data-type="created" onclick="toggleParticipationType('created')">
생성한 회의
@ -527,7 +527,7 @@
<input
type="text"
class="search-input"
placeholder="회의 제목, 참자, 키워드 검색"
placeholder="회의 제목, 참자, 키워드 검색"
id="searchInput"
oninput="applyFilters()"
onkeypress="if(event.key==='Enter') handleSearch()"

View File

@ -4,7 +4,7 @@
- **작성일**: 2025-10-21
- **최종 수정일**: 2025-10-28
- **작성자**: 이미준 (서비스 기획자)
- **버전**: 1.5.7
- **버전**: 1.5.9
- **설계 철학**: Mobile First Design
---
@ -20,7 +20,6 @@
- [04-템플릿선택](#04-템플릿선택)
- [05-회의진행](#05-회의진행)
- [07-회의종료](#07-회의종료)
- [~~09-Todo관리~~ (MVP v2.4.0에서 제거됨)](#09-todo관리)
- [10-회의록상세조회](#10-회의록상세조회)
- [11-회의록수정](#11-회의록수정)
- [12-회의록목록조회](#12-회의록목록조회)
@ -37,7 +36,7 @@
## 설계 개요
### 설계 목표
업무 지식이 없는 회의 참자 누구라도 누락 없이 정확한 회의록을 작성하고 공유할 수 있는 직관적이고 효율적인 사용자 경험 제공
업무 지식이 없는 회의 참자 누구라도 누락 없이 정확한 회의록을 작성하고 공유할 수 있는 직관적이고 효율적인 사용자 경험 제공
### 설계 원칙
@ -72,7 +71,7 @@
### 주요 추가 기능 (v1.1)
1. **AI 기반 회의 내용 요약 자동 생성**
- 각 섹션 최상단에 AI가 자동으로 생성한 2-3문장 요약 표시
- 참자가 요약 내용 확인 후 수정 가능
- 참자가 요약 내용 확인 후 수정 가능
- 실시간 동기화 및 자동 저장
2. **참고자료 자동 연결 (UFR-AI-040)**
@ -95,7 +94,6 @@
| 04 | 템플릿선택 | UFR-MEET-020 | 중간 | 회의록 템플릿 선택 | X | O | |
| 05 | 회의진행 | UFR-MEET-030, UFR-STT-010/020, UFR-AI-010 | 높음 | 실시간 회의 진행 및 회의록 작성 | X | X | |
| 07 | 회의종료 | UFR-MEET-040, UFR-MEET-050 | 높음 | 회의 통계 및 최종 확정 | X | X | |
| ~~09~~ | ~~Todo관리~~ | ~~UFR-TODO-010, UFR-TODO-030~~ | ~~높음~~ | ~~Todo 목록 및 진행 관리~~ | ~~O~~ | ~~X~~ | **MVP v2.4.0에서 제거됨** |
| 10 | 회의록상세조회 | UFR-MEET-047 | 중간 | 회의록 상세 보기 | X | O | |
| 11 | 회의록수정 | UFR-MEET-055 | 중간 | 지난 회의록 수정 | X | O | |
| 12 | 회의록목록조회 | UFR-MEET-046 | 높음 | 회의록 목록 필터링/정렬/검색 | O | X | |
@ -111,7 +109,7 @@
#### 시나리오 1: 새 회의 진행 (Full Flow)
```
로그인 → 대시보드 → 회의예약 → 템플릿선택 → 회의진행
검증완료 → 회의종료 → 대시보드
회의종료 → 회의록수정 (선택) → 대시보드
```
#### 시나리오 2: 지난 회의록 조회 및 수정
@ -119,12 +117,7 @@
로그인 → 대시보드 → 회의록상세조회 → 회의록수정 → 대시보드
```
#### 시나리오 3: Todo 관리
```
로그인 → 대시보드 → Todo관리 → 회의록상세조회 (Todo 출처 확인) → 대시보드
```
#### 시나리오 4: 빠른 회의 시작 (템플릿 스킵)
#### 시나리오 3: 빠른 회의 시작 (템플릿 스킵)
```
로그인 → 대시보드 → 회의진행 (기본 템플릿) → 회의종료 → 대시보드
```
@ -137,23 +130,17 @@ graph TD
B --> C[회의예약]
C --> D[템플릿선택]
D --> E[회의진행]
E --> F{검증 완료?}
F -->|Yes| G[회의종료]
F -->|No| E
G --> B
E --> G[회의종료]
G --> H{회의록 수정?}
H -->|Yes| K[회의록수정]
H -->|No| B
K --> B
B --> I[회의록상세조회]
I --> J{수정 필요?}
J -->|Yes| K[회의록수정]
J -->|Yes| K
K --> I
J -->|No| B
B --> L[Todo관리]
L --> M{Todo 출처 확인?}
M -->|Yes| I
M -->|No| B
E -.실시간 연동.-> L
```
[↑ 목차로 돌아가기](#목차)
@ -227,45 +214,39 @@ graph TD
- **비즈니스 중요도**: 필수
- **접근 경로**: 로그인 후 메인 화면
#### 주요 기능 (MVP 스코프 축소 v1.5.0)
#### 주요 기능
1. 빠른 회의 시작 및 예약
2. **예정된/진행중 회의 목록** (upcoming & ongoing meetings)
- 예정된 회의 (아직 시작 전)
- 진행중 회의 (참여 가능한 회의)
2. **최근 회의 목록** (최대 3개, 회의록 미생성 우선)
- 1순위: 진행중 회의 (참여 가능)
- 2순위: 예정된 회의 (시작 전)
- 3순위: 최근 종료된 회의 (회의록 있음, 1+2순위가 3개 미만일 때만 표시)
3. **통계 정보 표시** (예정된 회의, 작성중 회의록)
4. **내 회의록** (참여자/생성자로 등록된 최근 4개, 상태 포함)
5. 전역 검색
**변경사항 (v1.5.0)**:
- ❌ 제거: "내 Todo" 섹션 및 Todo 관리 메뉴
- ✅ 추가: "작성중 회의록" 통계 카드
- ✅ 변경: 네비게이션 간소화 (대시보드, 회의록만 유지)
#### UI 구성요소
**Mobile (320px~768px)**
- **헤더** (상단) - **개선안 A 적용 (v1.5)**
- **헤더** (상단)
- "안녕하세요 👋" (H3, Bold)
- 부제: "오늘 {N}건의 회의가 예정되어 있어요" (Body, 회색)
- N = 예정된 회의 개수 (동적 업데이트)
- 예정된 회의가 없을 경우: "예정된 회의가 없습니다"
- **메인 콘텐츠** (스크롤, padding-bottom: 80px, background: gray-50)
- **통계 카드** (2열 그리드) - **v1.5.0 변경**
- **통계 카드** (2열 그리드)
- "📅 예정된 회의" 카드
- 값: 전체 예정 + 진행 중 회의 개수
- 클릭 액션: 없음 (정보 표시만)
- 값: 전체 예정 + 진행 중 회의 개수
- "📝 작성중 회의록" 카드
- 값: 내가 참석한 회의 중 '작성중' 상태인 회의록 개수
- 클릭 액션: 없음 (정보 표시만)
- 값: 내가 참여한 회의 중 '작성중' 상태인 회의록 개수
- 높이: ~80px
- 클릭 액션: 없음 (정보 표시만)
- 반응형: 태블릿 이상에서 간격 증가
- **최근 회의** 섹션
- 헤더: "예정된 회의" (H4) + "전체 보기 →" 링크
- 헤더: "최근 회의" (H4)
- **정렬 기준** (UFR-USER-020 기준):
1. **1순위**: 회의록 미생성 회의 (진행중 + 예정) 우선 표시
2. **2순위**: 미생성이 3개 미만이면 최근 종료된 회의(회의록 있음)로 나머지 채움
2. **2순위**: 1순위가 3개 미만이면 최근 종료된 회의(회의록 있음)로 나머지 채움
3. **각 그룹 내 정렬**: 빠른 일시 순 (시작 시간 기준)
4. **최대 표시**: 3개
- **회의 카드** (클릭 가능 블록):
@ -276,15 +257,15 @@ graph TD
- 회의 제목 (H5)
- 생성자 표시 (👑 아이콘) - 내가 생성한 회의인 경우
- 회의 일시 (아이콘: calendar_today)
- 참자 수 (아이콘: people)
- 참자 수 (아이콘: people)
- 장소 정보
- 상태 버튼 (표시용):
- 진행중: "참여하기" 버튼
- 예정: 버튼 없음 (카드 클릭으로 처리)
- 완료: "보기" 버튼
- 완료: 버튼 없음 (카드 클릭으로 처리)
- 빈 상태: "예정된 회의가 없습니다"
- **내 회의록** 카드 - **v1.5.0 변경 (Todo 섹션 제거)**
- **내 회의록** 카드
- 헤더: "내 회의록" (H4) + "전체 보기 →" 링크 (회의록 목록 화면으로 이동)
- **최근 회의록 리스트** (최대 4개, 2x2 그리드):
- 필터: 내가 참여자 또는 생성자로 등록된 회의록
@ -292,7 +273,7 @@ graph TD
- 각 항목:
- 회의 제목 (H5)
- 회의 일시 (날짜 + 시간)
- 참자 수
- 참자 수
- **상태 배지**:
- "작성중" (draft, 주황색 배지)
- "확정완료" (confirmed, 초록색 배지)
@ -333,18 +314,18 @@ graph TD
- "회의 예약" 클릭 → 회의예약 화면으로 이동
2. **예정된/진행중 회의 인터랙션**
- **진행중 회의** (모든 참자):
- **진행중 회의** (모든 참자):
- "참여하기" 버튼 클릭 → 회의 진행 화면으로 즉시 이동
- 회의 항목 클릭 → 회의 상세 정보 표시 (모달 또는 화면 이동)
- 애니메이션: "진행중" 배지 깜빡임 효과 (1초 간격)
- **예정된 회의 - 생성자 (내가 생성한 회의)**:
- 회의 카드 클릭 → 회의예약 화면(수정 모드)으로 이동
- 회의 제목, 일시, 참자, 안건 등 수정 가능
- 저장 시 참자에게 변경 알림 발송
- 회의 제목, 일시, 참자, 안건 등 수정 가능
- 저장 시 참자에게 변경 알림 발송
- 크라운 아이콘 표시 (생성자 구분)
- **예정된 회의 - 초대받은 참자**:
- **예정된 회의 - 초대받은 참자**:
- 회의 카드 클릭 → 시스템 알럿 표시
- 메시지: "아직 회의 시간이 되지 않아 참여하실 수 없습니다"
- 다음 버전에서 회의 상세 조회 기능으로 개선 예정
@ -355,9 +336,6 @@ graph TD
3. **카드 인터랙션**
- 회의록 항목 클릭 → 회의록 상세 화면으로 이동
- **Todo 항목 클릭 → 해당 Todo가 포함된 회의록 상세 화면으로 이동**
- URL 파라미터로 회의록 ID와 Todo ID 전달
- 회의록 상세 화면에서 해당 Todo 섹션으로 자동 스크롤
- "전체 보기" 링크 클릭 → 해당 목록 화면으로 이동
- 호버 효과: 카드 그림자 증가, 약간 상승 (transform: translateY(-2px))
@ -372,13 +350,13 @@ graph TD
- **출력**:
- **예정된/진행중 회의**:
- 회의 ID, 제목, 일시, 참자 목록, 상태 (예정/진행중), D-day
- 회의 ID, 제목, 일시, 참자 목록, 상태 (예정/진행중), D-day
- **생성자 ID** (권한 판별용)
- **현재 사용자 역할** (creator | attendee)
- **참여 가능 시간** (시작 시간 - 10분)
- 필터 조건:
- **진행중 회의**: 회의 시작 시간 <= 현재 시간 AND 회의 종료 안 됨, 사용자가 참자 또는 생성자
- **예정된 회의**: 회의 일시 >= 현재 시간, 사용자가 참자 또는 생성자
- **진행중 회의**: 회의 시작 시간 <= 현재 시간 AND 회의 종료 안 됨, 사용자가 참자 또는 생성자
- **예정된 회의**: 회의 일시 >= 현재 시간, 사용자가 참자 또는 생성자
- 정렬 우선순위:
1. 진행중 회의 우선 (상태 = ongoing)
2. 예정된 회의 (회의 일시 순, 가까운 순)
@ -386,34 +364,22 @@ graph TD
- **버튼 표시 조건**:
- 진행중 회의: "참여하기" 버튼 (항상 표시)
- 예정된 회의 (생성자): "수정" 버튼 (항상 표시)
- 예정된 회의 (참자):
- 예정된 회의 (참자):
- 현재 시간 >= 시작 시간 - 10분: "참여하기" 버튼 활성화
- 현재 시간 < 시작 시간 - 10분: 버튼 비활성화 또는 타이머 표시
- **내 Todo**:
- Todo ID, 제목, 담당자, 마감일, 상태, 우선순위
- 필터: 담당자 = 현재 사용자
- 정렬:
1. 지연중 (마감일 < 현재 날짜, 상태 != done)
2. 진행중 (상태 = in_progress)
3. 미진행 (상태 = not_started, 마감일 >= 현재 날짜)
4. 완료 (상태 = done)
- 최대 5개
- **내 회의록**:
- 회의 ID, 제목, 일시, 참자 수, 상태, 생성일시, 수정일시
- 회의 ID, 제목, 일시, 참여자 수, 상태, 생성일시, 수정일시
- 필터: 사용자가 참여자 또는 생성자
- 정렬: 생성일시 (최근 순)
- 최대 3개
- **통계 데이터** (Desktop):
- **통계 데이터**:
- 예정된/진행중 회의 수 (진행중 회의 수 별도 배지)
- 진행 중 Todo 수
- Todo 완료율 (완료 / 전체 × 100)
- 작성중 회의록 수
- **연동**:
- Meeting 서비스 (회의 정보, 회의록 정보)
- Todo 서비스 (Todo 목록)
#### 에러 처리
- **데이터 로딩 실패**:
@ -427,7 +393,6 @@ graph TD
- **빈 상태** (각 섹션별):
- 예정된/진행중 회의: "예정된 회의가 없습니다"
- Todo: "할당된 Todo가 없습니다"
- 내 회의록: "작성한 회의록이 없습니다. 첫 회의를 시작해보세요!"
- **진행중 회의 참여 실패**:
@ -438,7 +403,7 @@ graph TD
- 네트워크 오류: [공통 에러 메시지 - 네트워크 오류](#네트워크-오류) 참조
- **예정된 회의 접근 제한**:
- **시간 제한 (초대받은 참자)**:
- **시간 제한 (초대받은 참자)**:
- "아직 참여할 수 없습니다. N분 후 참여 가능합니다." 토스트 메시지
- 10분 전부터 참여 버튼 활성화
- 타이머 자동 갱신 (1분 간격)
@ -459,7 +424,7 @@ graph TD
### 03-회의예약
#### 개요
- **목적**: 예정된 회의 일정 등록 및 참자 초대
- **목적**: 예정된 회의 일정 등록 및 참자 초대
- **관련 유저스토리**: UFR-MEET-010
- **비즈니스 중요도**: 높음
- **접근 경로**: 대시보드 → "회의 예약" 버튼
@ -467,9 +432,9 @@ graph TD
#### 주요 기능
1. 회의 기본 정보 입력 (제목, 날짜/시간, 장소)
2. 참자 추가 (이메일 또는 조직도 검색)
2. 참자 추가 (이메일 또는 조직도 검색)
3. 회의 안건 사전 입력 (선택)
4. 참자 초대 이메일 자동 발송
4. 참자 초대 이메일 자동 발송
5. 캘린더 연동
#### UI 구성요소
@ -496,10 +461,10 @@ graph TD
- 온라인/오프라인 토글
- 온라인 선택 시: 회의 링크 자동 생성 옵션
- **참자** (필수, 최소 1명)
- 참자 칩 (제거 가능)
- "참자 추가" 버튼
- 참자 검색 (이메일 또는 이름)
- **참자** (필수, 최소 1명)
- 참자 칩 (제거 가능)
- "참자 추가" 버튼
- 참자 검색 (이메일 또는 이름)
- **안건** (선택)
- 다중 라인 텍스트 입력
@ -514,10 +479,10 @@ graph TD
- 시간 선택: 30분 단위 드롭다운
- 충돌 감지: 동일 시간대 다른 회의 있을 경우 경고
2. **참자 추가**
- "참자 추가" 클릭 → 검색 모달 표시
2. **참자 추가**
- "참자 추가" 클릭 → 검색 모달 표시
- 실시간 검색 (이름, 이메일, 부서)
- 선택된 참자는 칩 형태로 표시
- 선택된 참자는 칩 형태로 표시
- 칩의 X 버튼으로 제거 가능
3. **저장 처리**
@ -532,14 +497,14 @@ graph TD
- 시작 시간(Time)
- 종료 시간(Time)
- 장소(문자열, 최대 200자, 선택)
- 참자 목록(이메일 배열)
- 참자 목록(이메일 배열)
- 안건(문자열, 선택)
- **출력**: 회의 ID, 초대 이메일 발송 결과
- **연동**: Meeting 서비스, Notification 서비스
#### 에러 처리
- **필수 필드 누락**: 해당 필드에 빨간색 테두리 및 오류 메시지
- **참석자 0명**: "최소 1명의 참석자를 추가해주세요"
- **참여자 0명**: "최소 1명의 참여자를 추가해주세요"
- **과거 날짜 선택**: "과거 날짜는 선택할 수 없습니다"
- **저장 실패**: "회의 예약에 실패했습니다. 다시 시도해주세요"
@ -620,21 +585,21 @@ graph TD
- **접근 경로**: 대시보드 → "참여하기" 버튼 (페이지 전환)
- **권한** (MVP 개선):
- **회의 생성자 전용**: 회의 종료, 녹음 제어 (일시정지/재개/종료)
- **모든 참자**: 회의 참여, AI 기반 메모 작성, 용어 확인, 관련 회의록 확인, 중도 퇴장
- **모든 참자**: 회의 참여, AI 기반 메모 작성, 용어 확인, 관련 회의록 확인, 중도 퇴장
#### 주요 기능 (MVP 스코프 축소 v1.5.0)
1. 음성 녹음 및 실시간 텍스트 변환 (STT)
2. AI 자동 회의록 작성 (구조화)
3. **AI 기반 메모 작성** (UFR-PART-020): AI가 실시간으로 감지한 주요 내용을 참자가 선택하여 개인 메모로 저장
3. **AI 기반 메모 작성** (UFR-PART-020): AI가 실시간으로 감지한 주요 내용을 참자가 선택하여 개인 메모로 저장
4. 전문용어 자동 감지 및 맥락 기반 설명
5. **참고자료 자동 연결** (이전 회의록, 관련 회의록)
6. 참자 관리 및 초대 기능
6. 참자 관리 및 초대 기능
7. 회의 진행 시간 표시
**변경사항 (v1.5.0)**:
- ✅ 변경: "AI 제안" 탭 → "AI 기반 메모" 탭으로 기능 변경
- ✅ 추가: 개인 메모 입력 및 저장 기능 (각 참자별 개별 저장)
- ✅ 정책: 메모는 회의 종료 전까지만 표시/편집 가능, 다른 참자 메모는 볼 수 없음
- ✅ 추가: 개인 메모 입력 및 저장 기능 (각 참자별 개별 저장)
- ✅ 정책: 메모는 회의 종료 전까지만 표시/편집 가능, 다른 참자 메모는 볼 수 없음
#### UI 구성요소
@ -645,24 +610,24 @@ graph TD
- **메인 콘텐츠 영역: 정보 패널** (탭 구조)
- **탭 네비게이션** (4개 탭)
- 참자 (3명)
- 참자 (3명)
- AI 기반 메모
- 용어 사전
- 관련 자료 (32건)
- **참자 탭** (4명)
- 제목: "참자 (4명)" (동적으로 인원수 업데이트)
- **참자 추가 폼**:
- **참자 탭** (4명)
- 제목: "참자 (4명)" (동적으로 인원수 업데이트)
- **참자 추가 폼**:
- 이메일 입력 필드: placeholder "이메일 주소 입력", form-control 스타일
- "초대" 버튼: btn btn-primary btn-sm
- 레이아웃: Flex (gap: 8px), 입력창(flex: 1) + 버튼
- 하단 여백: 16px (margin-bottom: var(--space-md))
- **참자 목록** (아바타 + 이름)
- **참자 목록** (아바타 + 이름)
- 김민준 (초록 아바타)
- 박서연 (파랑 아바타)
- 이준호 (노랑 아바타)
- 최유진 (핑크 아바타)
- **각 참자 아이템**:
- **각 참자 아이템**:
- 컬러 아바타 (avatar-sm: 32x32)
- 이름 (text-small font-medium, 14px)
- flex layout, 하단 구분선 (마지막 제외)
@ -728,9 +693,9 @@ graph TD
- 입력된 메모는 수정 가능
- **정책**:
- 각 참석자별로 개별 저장 (다른 참석자의 메모는 볼 수 없음)
- 각 참여자별로 개별 저장 (다른 참여자의 메모는 볼 수 없음)
- 메모는 회의 종료 전까지만 표시 및 편집 가능
- 회의 종료 시 AI가 회의록 생성할 때 모든 참자의 메모 참조
- 회의 종료 시 AI가 회의록 생성할 때 모든 참자의 메모 참조
- **용어 사전 탭**
- 제목: "용어 사전"
@ -820,8 +785,8 @@ graph TD
#### 인터랙션
1. **탭 전환**
- **참석자 탭**: 현재 회의 참석자 목록 표시 (4명) 및 참석자 추가 기능
- **참자 추가 폼** (상단):
- **참여자 탭**: 현재 회의 참여자 목록 표시 (4명) 및 참여자 추가 기능
- **참자 추가 폼** (상단):
- 이메일 입력 필드 (form-control 스타일, placeholder: "이메일 주소 입력")
- "초대" 버튼 (btn btn-primary btn-sm)
- 이메일 입력 후 "초대" 클릭 시:
@ -831,15 +796,15 @@ graph TD
4. 유효한 이메일: "{email}에게 초대 링크가 전송되었습니다" 성공 토스트
5. 입력창 초기화 (value = '')
6. 실제 구현 시 서버 API 호출 (/api/meetings/invite)
- **참자 목록** (하단):
- 각 참자: 아바타 + 이름
- **참자 목록** (하단):
- 각 참자: 아바타 + 이름
- 상태 표시 없음 (발언 중/온라인 등 제거)
- 참자 수 동적 업데이트 (초대 성공 시)
- 참자 수 동적 업데이트 (초대 성공 시)
- **AI 기반 메모 탭** (UFR-PART-020): AI가 감지한 주요 내용을 참자가 선택하여 개인 메모로 저장
- **AI 기반 메모 탭** (UFR-PART-020): AI가 감지한 주요 내용을 참자가 선택하여 개인 메모로 저장
- **메모 작성 및 저장**:
- 메모 입력창에 자유롭게 메모 작성 가능
- "저장" 버튼 클릭 시 개인 메모로 저장 (각 참자별 개별 저장)
- "저장" 버튼 클릭 시 개인 메모로 저장 (각 참자별 개별 저장)
- 저장 성공 시 "{n}개의 메모가 저장되었습니다" 성공 토스트
- 저장 실패 시 "메모 저장에 실패했습니다" 오류 토스트
- **AI가 감지한 주요 내용**:
@ -854,8 +819,8 @@ graph TD
4. 저장 버튼 활성화
- **정책**:
- 메모는 회의 종료 전까지만 표시/편집 가능
- 각 참석자의 메모는 다른 참석자에게 보이지 않음
- 회의 종료 시 AI가 모든 참자의 메모를 참조하여 회의록 생성
- 각 참여자의 메모는 다른 참여자에게 보이지 않음
- 회의 종료 시 AI가 모든 참자의 메모를 참조하여 회의록 생성
- **용어 사전 탭**: 회의에서 언급된 전문용어 설명
- **용어 검색 기능**:
@ -892,14 +857,14 @@ graph TD
- **입력**:
- 회의 ID
- 오디오 스트림 (실시간 STT용)
- 참자 초대 이메일
- 참자 초대 이메일
- **출력**:
- 실시간 텍스트 변환 결과 (STT)
- **AI가 감지한 주요 내용 목록** (시간 + 내용)
- **개인 메모** (각 참자별 개별 저장)
- **개인 메모** (각 참자별 개별 저장)
- **전문용어 및 설명** (용어 사전)
- **관련 회의록 목록** (32건, 관련도 포함)
- 참자 목록
- 참자 목록
- **연동**:
- STT 서비스 (UFR-AI-010)
- AI 서비스 (주요 내용 감지, UFR-AI-040)
@ -913,7 +878,7 @@ graph TD
- **메모 저장 실패**: "메모 저장에 실패했습니다" 토스트 + 재시도 버튼
- **용어 사전 로드 실패**: "용어 사전을 불러올 수 없습니다" 메시지 표시
- **관련 자료 검색 실패**: "관련 회의록을 찾을 수 없습니다" 메시지 표시
- **참자 초대 실패**: "초대 링크 전송에 실패했습니다" 토스트 + 재시도 버튼
- **참자 초대 실패**: "초대 링크 전송에 실패했습니다" 토스트 + 재시도 버튼
- **회의 종료 실패**: "회의 종료 중 오류가 발생했습니다" 토스트 + 재시도 버튼
---
@ -933,7 +898,7 @@ graph TD
- 확인 후 다음 단계 선택만 가능
#### 주요 기능
1. 회의 통계 표시 (시간, 참자, 발언 횟수 등)
1. 회의 통계 표시 (시간, 참자, 발언 횟수 등)
2. 주요 키워드 클라우드
3. **안건별 AI 요약 전체 표시** (신규)
- 안건별 AI 한줄 요약 (30자 이내, 편집 불가)
@ -953,7 +918,7 @@ graph TD
- **통계 카드**
- 회의 총 시간
- 참자 수
- 참자 수
- 주요 키워드 (태그 클라우드)
- **안건별 AI 요약 섹션** (신규)
@ -980,7 +945,7 @@ graph TD
- 확인 다이얼로그: "AI가 정리한 내용 그대로 최종 확정하시겠습니까?"
- 모든 안건 자동 검증 완료 처리
- 회의록 상태: 확정완료
- 참자에게 확정 알림 발송
- 참자에게 확정 알림 발송
- **옵션 3**: "대시보드로 이동" 버튼 (Ghost)
- 회의록 상태: 작성중 (추후 편집 가능)
- 대시보드로 이동
@ -1018,7 +983,7 @@ graph TD
- 안건별 검증완료 처리
- 회의록 상태: "작성중" → "확정완료"로 변경
- 확정 시간 기록
- 참자에게 확정 알림 발송
- 참자에게 확정 알림 발송
- 성공 토스트: "회의록이 최종 확정되었습니다"
- 10-회의록상세조회.html로 이동
- **시나리오 2 특징 (바로 확정)**:
@ -1034,14 +999,14 @@ graph TD
#### 데이터 요구사항
- **입력**: 회의 ID
- **출력**:
- 회의 통계 (시간, 참자 수, 발언 통계, 키워드)
- 회의 통계 (시간, 참자 수, 발언 통계, 키워드)
- **안건별 AI 요약 데이터**:
- 안건 제목
- AI 한줄 요약 (30자 이내)
- 상세 요약 정리 (논의 주제, 발언자별 의견, 결정 사항, 보류 사항)
- 안건별 Todo 목록 (제목, 담당자, 마감일, 우선순위)
- 회의록 상태 (작성중/확정완료)
- **연동**: Meeting 서비스, AI 서비스, Todo 서비스
- **연동**: Meeting 서비스, AI 서비스
#### 에러 처리
- **통계 생성 실패**: "통계를 생성할 수 없습니다" + 건너뛰기 옵션
@ -1058,7 +1023,7 @@ graph TD
- **관련 유저스토리**: UFR-MEET-047, UFR-AI-040, UFR-MEET-048
- **비즈니스 중요도**: 중간
- **접근 경로**: 대시보드 → "내 회의록" 항목 클릭
- **권한**: 모든 회의 참자 (조회 전용)
- **권한**: 모든 회의 참자 (조회 전용)
#### 주요 기능 (MVP 스코프 축소 v1.5.0)
1. 회의 기본 정보 표시
@ -1086,7 +1051,7 @@ graph TD
- **기본 정보 카드**
- 회의 일시
- 참자 아바타 및 이름 (역할 구분)
- 참자 아바타 및 이름 (역할 구분)
- 회의 장소
- 회의록 상태 배지 (작성중/확정완료)
- 작성자 및 최종 수정 시간
@ -1120,7 +1085,7 @@ graph TD
- **핵심내용 섹션** (💡)
- 번호 매김된 핵심 포인트 (4-5개)
- 주요 키워드 태그 클라우드
- 회의 통계 (참자 수, 시간, 발언 횟수, 주요 의제 수)
- 회의 통계 (참자 수, 시간, 발언 횟수, 주요 의제 수)
- **결정사항 섹션** (✅)
- 결정사항 카드 리스트
@ -1211,7 +1176,7 @@ graph TD
#### 데이터 요구사항
- **입력**: 회의록 ID, 활성 탭 (회의록/대시보드/타임라인)
- **출력**:
- **회의 기본 정보**: 제목, 일시, 참자, 장소, 상태, 작성자, 수정 시간
- **회의 기본 정보**: 제목, 일시, 참자, 장소, 상태, 작성자, 수정 시간
- **안건별 AI 요약**: 자동 생성 요약, 수정 이력
- **안건별 내용**: 마크다운 형식
- **참고자료 목록**:
@ -1222,12 +1187,12 @@ graph TD
- **대시보드 데이터** (대시보드 탭 선택 시):
- 핵심내용 (4-5개 포인트)
- 주요 키워드
- 회의 통계 (참자 수, 시간, 발언 횟수, 의제 수)
- 회의 통계 (참자 수, 시간, 발언 횟수, 의제 수)
- 결정사항 리스트 (결정 내용, 결정자, 시간, 배경)
- Todo 진행상황 (담당자별 그룹, 진행률)
- **Todo 목록 및 진행 상황**
- **첨부파일 목록**
- **연동**: Meeting 서비스, AI 서비스 (UFR-AI-040), Todo 서비스
- **연동**: Meeting 서비스, AI 서비스 (UFR-AI-040)
#### 에러 처리
- **회의록 로딩 실패**: "회의록을 불러올 수 없습니다" + 재시도 버튼
@ -1247,14 +1212,14 @@ graph TD
- **비즈니스 중요도**: 중간
- **접근 경로**: 10-회의록상세조회 → 하단 액션 바 "수정" 버튼 클릭
- **권한 제어**:
- **검증완료 전**: 모든 참자가 수정 가능
- **검증완료 후**: 회의 생성자만 수정 가능 (참자는 "수정" 버튼 비활성화)
- **검증완료 전**: 모든 참자가 수정 가능
- **검증완료 후**: 회의 생성자만 수정 가능 (참자는 "수정" 버튼 비활성화)
#### 주요 기능 (MVP 스코프 축소 v1.5.2)
1. 회의 기본 정보 표시 및 수정
- 회의 제목: 수정 가능
- 회의 일시/장소: 읽기 전용 (회의 예약 화면에서만 변경 가능)
- 참자 관리: 회의 생성자만 추가/삭제 가능
- 참자 관리: 회의 생성자만 추가/삭제 가능
2. **회의록 내용 수정 (안건별)** - 용어 변경: 섹션 → 안건
3. **AI 요약 표시 및 재생성 (안건별, UFR-AI-036)**
- AI 한줄 요약 표시 (30자 이내, 읽기 전용)
@ -1265,7 +1230,7 @@ graph TD
5. **Todo 단순 조회** (제목 + 담당자 + 마감일만 표시)
6. **안건별 검증 완료 체크박스 (UFR-COLLAB-030)**
- 회의 생성자: 검증 완료 체크박스 활성화, 잠금 해제 후 수정 가능
- 참자: 검증완료 안건은 읽기 전용
- 참자: 검증완료 안건은 읽기 전용
7. 자동 저장 (30초 간격)
8. 수정 이력 관리
9. 상태 변경 (검증완료 → 작성중으로 자동 변경)
@ -1292,11 +1257,11 @@ graph TD
- 회의 제목: 편집 가능 (텍스트 필드)
- 회의 일시: 읽기 전용 (📅 아이콘 + 날짜/시간 표시)
- 회의 장소: 읽기 전용 (📍 아이콘 + 장소명)
- 참자 목록:
- 참자 목록:
- 회의 생성자: 추가/삭제 가능 (05-회의진행 화면과 동일한 UI)
- 참자: 읽기 전용 표시
- 각 참자: 아바타 + 이름, 삭제(×) 버튼 (생성자는 삭제 불가)
- "참자 추가" 버튼 (이메일 입력 + 초대)
- 참자: 읽기 전용 표시
- 각 참자: 아바타 + 이름, 삭제(×) 버튼 (생성자는 삭제 불가)
- "참자 추가" 버튼 (이메일 입력 + 초대)
- 회의록 상태 배지 (자동 관리)
- **편집 화면** (MVP 스코프 축소)
@ -1331,7 +1296,7 @@ graph TD
- **회의 생성자 화면**:
- 검증 완료 체크박스 (활성화)
- "잠금 해제" 버튼 (검증완료 안건만 표시)
- **참자 화면**:
- **참자 화면**:
- 🔒 "읽기 전용" 배지 (검증완료 안건)
- 안내 텍스트: "(잠금됨 · 회의 생성자만 수정 가능)"
- 자동 저장 상태 표시 ("저장됨", "저장 중...")
@ -1381,7 +1346,7 @@ graph TD
- "잠금 해제" 버튼 클릭 (검증완료 안건만 표시):
- 확인 다이얼로그: "이 안건의 잠금을 해제하시겠습니까?"
- 확인 시: 안건 검증 완료 체크 해제 → 편집 가능 상태로 변경
- **참자 화면**:
- **참자 화면**:
- 검증완료 안건: 🔒 "읽기 전용" 배지 표시
- 안내 텍스트: "(잠금됨 · 회의 생성자만 수정 가능)"
- 모든 입력 필드 비활성화 (disabled)
@ -1419,8 +1384,8 @@ graph TD
10. **안건 기반 충돌 방지 (UFR-COLLAB-030)** - MVP 스코프 축소
- **안건 기반 충돌 방지 메커니즘**:
- **다른 안건 동시 편집**: 충돌 없음
- 참자 A가 안건 1 편집
- 참자 B가 안건 2 편집 가능
- 참자 A가 안건 1 편집
- 참자 B가 안건 2 편집 가능
- 양쪽 모두 정상 저장
- **동일 안건 검증 완료 체크로 충돌 방지**:
@ -1475,7 +1440,7 @@ graph TD
- **접근 경로**:
- 대시보드 → "내 회의록" 전체 보기
- 하단 네비게이션 → "회의록" 메뉴
- **권한**: 모든 회의 참석자 (본인이 참석한 회의록만 조회)
- **권한**: 모든 회의 참여자 (본인이 참여한 회의록만 조회)
#### 데이터 아키텍처
- **데이터 레이어**: common.js의 SAMPLE_MINUTES 배열
@ -1494,14 +1459,14 @@ graph TD
#### 주요 기능
1. **회의록 목록 조회** (참여/생성한 회의록)
2. **필터링 기능**:
- 참여 유형: 참한 회의, 생성한 회의
- 참여 유형: 참한 회의, 생성한 회의
- 상태: 전체, 작성중, 확정완료
3. **정렬 기능**:
- 최근수정순 (수정 일시 기준, 최근 순) - 기본값
- 최근회의순 (회의 일시 기준, 최근 순)
- 제목순 (가나다순)
4. **검색 기능**:
- 제목, 참자, 키워드로 통합 검색
- 제목, 참자, 키워드로 통합 검색
- 실시간 검색 결과 업데이트
5. **페이지네이션**:
- 초기 10개 회의록 표시
@ -1527,12 +1492,12 @@ graph TD
- **참여 유형 필터** (탭 형식, 선택):
- 전체 (기본 선택)
- 참한 회의
- 참한 회의
- 생성한 회의
- **검색 영역**
- 검색 입력 필드
- Placeholder: "회의 제목, 참자, 키워드 검색"
- Placeholder: "회의 제목, 참자, 키워드 검색"
- 실시간 검색 (입력 시 즉시 필터링)
- **통계 정보** (카드, 선택)
@ -1548,7 +1513,7 @@ graph TD
- 회의 제목 (H5, 볼드)
- **생성자 표시**: 현재 사용자가 회의 생성자인 경우 👑 아이콘 표시 (16px, title="생성자")
- 메타정보 (Caption, 회색):
- 회의 일시 (날짜 + 시간) · 참자 수
- 회의 일시 (날짜 + 시간) · 참자 수
- 검증완료율 (작성중 상태일 때만): "✓ {completionRate}% 검증완료" 배지
- 최종 수정 시간 (Caption, 회색):
- 상대 시간 표시 ("1시간 전", "어제", "3일 전")
@ -1595,7 +1560,7 @@ graph TD
- 텍스트 입력 → 실시간 검색 (debounce 300ms)
- 검색 범위:
- 회의 제목 (부분 일치)
- 참자 이름 (부분 일치)
- 참자 이름 (부분 일치)
- 키워드 (태그, 내용에서 추출된 키워드)
- 검색어 지우기: X 버튼 (검색어 입력 시 표시)
@ -1628,7 +1593,7 @@ graph TD
- 회의 ID
- 제목
- 회의 일시
- 참석자 목록 (또는 참석자 수)
- 참여자 목록 (또는 참여자 수)
- 상태 (`draft` | `confirmed`)
- 생성자 ID
- 생성일시 (`createdAt`)
@ -1675,11 +1640,11 @@ graph TD
### 네비게이션
#### Mobile 하단 네비게이션 (320px~768px)
#### Mobile 하단 네비게이션 (320px~768px) - **v1.5.0 변경**
- **위치**: Fixed, 하단 (height: 64px)
- **배경**: 흰색, 상단 테두리 (1px solid #E5E7EB)
- **그림자**: 0 -2px 8px rgba(0, 0, 0, 0.08)
- **구성**: 3개 항목 (균등 분할)
- **구성**: 2개 항목 (균등 분할)
- **홈** (대시보드)
- 아이콘: 🏠 (24px)
- 텍스트: "홈" (12px)
@ -1688,13 +1653,13 @@ graph TD
- **회의록** (회의록 목록)
- 아이콘: 📋 (24px)
- 텍스트: "회의록" (12px)
- **Todo** (Todo 관리)
- 아이콘: ✅ (24px)
- 텍스트: "Todo" (12px)
- **사용 화면**: 02-대시보드, 09-Todo관리, 12-회의록목록조회
- ~~**Todo** (Todo 관리)~~ (MVP v2.4.0에서 제거됨)
- ~~아이콘: ✅ (24px)~~
- ~~텍스트: "Todo" (12px)~~
- **사용 화면**: 02-대시보드, 12-회의록목록조회
- **참고**: 프로필 메뉴는 프로토타입에서 제거됨 (Desktop 사이드바의 사용자 정보 영역으로 통합)
#### Desktop 좌측 사이드바 (768px+)
#### Desktop 좌측 사이드바 (768px+) - **v1.5.0 변경**
- **위치**: Fixed, 좌측 (width: 240px)
- **배경**: 흰색, 우측 테두리 (1px solid #E5E7EB)
- **구성**:
@ -1704,11 +1669,11 @@ graph TD
- **메인 메뉴**:
- 대시보드
- 내 회의록
- Todo
- ~~Todo~~ (MVP v2.4.0에서 제거됨)
- **하단 영역**:
- 사용자 정보 (아바타 + 이름)
- 로그아웃 버튼 (btn-ghost btn-sm)
- **사용 화면**: 02-대시보드, 09-Todo관리, 12-회의록목록조회
- **사용 화면**: 02-대시보드, 12-회의록목록조회
#### 상단 헤더 (공통)
- **위치**: Sticky, 상단
@ -1956,16 +1921,18 @@ graph TD
|------|------|--------|----------|
| 1.0 | 2025-10-21 | 이미준 | 최초 작성 - 11개 화면 설계 완료 |
| 1.1.x | 2025-10-21 | 이미준 | **주요 변경**: AI 요약 및 참고자료 기능, 회의록 상세 화면 개선, 대시보드 UI 개선<br>- 1.1.0: AI 요약/참고자료 기능 추가 (05, 10, 11 화면), UFR-AI-040 관련 회의록 자동 연결<br>- 1.1.1: 회의록 상세 탭 구조 개선 (회의록/대시보드), 참고자료 관련도 점수 표시<br>- 1.1.2: 대시보드 예정 회의 카드/Todo 정렬 개선, 12-회의록목록조회 신규 추가 (필터/정렬/검색) |
| 1.2.x | 2025-10-21 | 이미준, 최유진 | **주요 변경**: 대시보드 역할 기반 접근 제어, 회의진행 화면 개선, 스타일 가이드 신규 작성<br>- 1.2.0: 진행중 회의 표시 기능 (배지, 참여하기 버튼, 에러 처리)<br>- 1.2.1: 예정 회의 생성자/참자 권한 차별화 (수정 버튼, 참여 시간 제한, 타이머)<br>- 1.2.2: 참고자료 새 탭 열기, 참자 추가 초대, 스타일 가이드 신규 작성 (민트 그린 컬러 시스템)<br>- 1.2.3: 설정 메뉴 제거, Todo 클릭 시 회의록 상세로 이동 (URL 파라미터 전달) |
| 1.3.x | 2025-10-21 | 이미준, 도그냥 | **주요 변경**: 반응형 네비게이션 구조, 회의진행 화면 전면 개편, 공통 UI 컴포넌트 표준화<br>- 1.3.0: 반응형 네비게이션 (Mobile 하단 3개, Desktop 사이드바), 05-회의진행 2열 구조 재설계, 10-회의록상세조회 타임라인 탭 제거<br>- 1.3.1: AI 제안 탭 3가지 유형 상세화 (논의사항/결정사항/액션아이템), 디자인 통일성 개선<br>- 1.3.2: 참자 추가 폼 + 이메일 유효성 검증, 버튼/검색창 스타일 통일<br>- 1.3.3: 공통 UI 컴포넌트/에러 메시지 섹션 신규 작성, 중복 내용 참조 링크 교체 (파일 크기 8~10% 감소) |
| 1.4.x | 2025-10-22~25 | 이미준, 강지수, 도그냥 | **주요 변경**: Todo 관리 기능 대폭 강화, 화면 번호 재정렬, 회의록 공유 기능 제거, 유저스토리 v2.3.0 반영<br>- 1.4.0~1.4.5: 네비게이션 사양 통일, 대시보드 모바일 최적화, 공유 기능 제거, 화면 번호 통일, 로그아웃 기능 추가<br>- 1.4.6~1.4.10: 검증완료 섹션 잠금 정책, Todo 관리 확장 (통계/필터/편집), 회의록 상세 탭 순서 변경, Todo 카드 디자인 전면 개선, 공통 스타일 관리<br>- 1.4.11~1.4.13: 회의진행 액션아이템 탭 개선, Todo 카드 HTML/CSS 완전 통일 (3개 화면), D-day 배지 정책 (회의 중 숨김)<br>- 1.4.14~1.4.16: 12-회의록목록조회 데이터 아키텍처 문서화, 06-검증완료 화면 삭제, 사용자 역할 용어 통일 (생성자/참자)<br>- 1.4.17~1.4.20: STT 화자 식별 불가 반영, 05-회의진행 프로토타입 기준 전면 수정, 유저스토리 v2.3.0 반영 (충돌 방지 정책 강화) |
| 1.5.1 | 2025-10-27 | 강지수 | MVP 스코프 축소 v2.4.0 반영 (4개 화면 수정)<br>- **02-대시보드**: Todo 위젯 및 통계 제거 (UFR-USER-020 반영)<br> - Todo 위젯 전체 제거 (나의 Todo 섹션 삭제)<br> - 통계 카드: "나의 Todo" 제거, "작성중 회의록" 유지 (2개 항목)<br> - 네비게이션: 하단 네비게이션 및 사이드바에서 Todo 관리 메뉴 제거<br> - Desktop 통계 그리드: 2개 항목만 표시<br>- **05-회의진행**: "AI 제안" 탭 → "AI 기반 메모" 탭 기능 변경<br> - 메모 입력창 + 저장 버튼 추가<br> - AI가 감지한 주요 내용 리스트 표시 (시간 + 내용)<br> - 각 참석자별 개별 저장, 다른 참석자 메모 볼 수 없음<br> - 메모는 회의 종료 전까지만 표시/편집 가능<br> - 에러 처리: AI 주요 내용 감지 실패, 메모 저장 실패 추가<br>- **10-회의록상세조회**: Todo 단순 조회 기능으로 변경<br> - Todo는 제목 + 담당자 + 마감일만 표시<br> - D-day 라벨, 우선순위 배지, 진행률 바, 상태별 필터 제거<br> - Todo 관리 화면 연동 링크 제거 (화면 자체가 제거됨)<br> - "수정" 버튼을 헤더로 이동<br>- **11-회의록수정**: 실시간 협업 기능 제거, 안건 기반 충돌 방지 강화<br> - "편집 중" 표시 제거 (실시간 협업 기능 제거)<br> - Todo 편집/추가/삭제 기능 전체 제거 (단순 조회만 가능)<br> - AI 한줄 요약 재생성 불가 (회의 종료 시 1회만 생성)<br> - 검증률 표시 및 최종 확정 버튼 제거<br> - 저장 로직 추가: 검증완료 안건 저장 스킵, 저장 결과 알림<br> - 안건별 검증 완료 체크박스로 충돌 방지 (Last Write Wins 적용)<br> - 에러 처리: 충돌 경고 모달 제거 (LWW로 인해) |
| 1.5.2 | 2025-10-27 | 강지수 | AI 요약 기능 통합 및 단순화 (유저스토리 v2.4.0 반영)<br>- **11-회의록수정**: AI 요약 기능 통합<br> - 명칭 변경: "AI 상세 요약" → "AI 요약"<br> - AI 요약 영역: AI 한줄 요약만 표시 (30자 이내, 읽기 전용)<br> - 텍스트 편집 영역: 안건 내용 자유 작성 (논의 주제, 발언자별 의견, 결정 사항 등)<br> - "AI 재생성" 버튼: 텍스트 편집 영역 내용 기반으로 AI 요약의 한줄 요약 재생성 (2-5초 처리)<br> - 재생성된 한줄 요약은 회의록 상세조회 화면의 대시보드 및 회의록 탭에 즉시 반영<br> - AI 상세 요약 및 한줄 요약 분리 표시 제거<br>- **프로토타입 UI 개선**:<br> - AI 재생성 버튼 스타일 통일: btn-secondary → btn-primary (다른 화면과 일관성)<br> - 안건별 검증완료 UI 단순화: 참자는 체크박스만, 회의 생성자는 검증완료 시 잠금해제 버튼 표시<br> - .creator-only CSS 클래스 추가: data-is-creator 속성 기반 표시 제어<br>- **관련 유저스토리**: UFR-AI-036 (AI 한줄요약 확인 및 재생성), UFR-MEET-055 (안건별 검증), UFR-COLLAB-030 (충돌 방지) |
| 1.5.3 | 2025-10-27 | 강지수 | Todo 추가/편집 권한 정책 명확화 (유저스토리 v2.4.1 반영)<br>- **10-회의록상세조회**: Todo 추가/편집 권한 정책 추가 (대시보드 탭)<br> - "추가" 버튼: 모든 회의 참자에게 노출 (Todo 리스트 우측 상단)<br> - "편집(✏️)" 버튼: 회의 생성자에게만 노출 (각 Todo 항목 우측)<br> - Todo 추가 모달: 제목, 담당자, 마감일 입력 (모든 참자)<br> - Todo 편집 모달: 제목, 담당자, 마감일 수정 (회의 생성자만)<br> - 담당자 필드: 추가 시 또는 생성자의 편집 시만 표시<br>- **프로토타입 UI 개선**: 10-회의록상세조회.html<br> - Todo 추가/편집 모달 바텀시트 스타일 통일 (모바일: 하단 슬라이드 업, 데스크톱: 중앙 모달)<br> - .creator-only 클래스 적용하여 편집 버튼 권한별 표시/숨김 처리<br> - JavaScript initPage() 함수에서 회의 생성자 여부 확인 후 creator-only 요소 제어<br> - Todo 추가 성공: "담당자에게 알림이 전송되었습니다" → "캘린더가 업데이트되었습니다" 순차 토스트<br> - Todo 편집 성공: 담당자 변경 시 알림, 마감일 변경 시 캘린더 업데이트 토스트<br>- **관련 유저스토리**: UFR-MEET-047 (회의록상세조회), Todo 권한 정책 신규 추가 |
| 1.5.4 | 2025-10-28 | 도그냥 | 대시보드 최근 회의 리스트 디자인 간소화 (UFR-USER-020 반영)<br>- **02-대시보드**: 최근 회의 정렬 기준 명확화 및 디자인 간소화<br> - **정렬 기준**:<br> - 1순위: 회의록 미생성 회의 (진행중 + 예정) 우선 표시<br> - 2순위: 미생성이 3개 미만이면 최근 종료된 회의(회의록 있음)로 나머지 채움<br> - 각 그룹 내 정렬: 빠른 일시 순 (시작 시간 기준)<br> - 최대 표시: 3개<br> - **회의 카드 (클릭 가능 블록)**:<br> - 상태 라벨 (배지): "진행중", "예정", "작성중", "확정완료"<br> - 회의 제목 + 생성자 아이콘(👑)<br> - 회의 일시, 참자 수, 장소<br> - 상태 버튼 (표시용): "참여하기", "수정하기", "보기"<br> - **디자인 간소화**: D-day 표시, 깜박임 애니메이션, 세부 색상 지정 등 제거<br>- **유저스토리**: UFR-USER-020 (대시보드 조회) 동일하게 수정 |
| 1.2.x | 2025-10-21 | 이미준, 최유진 | **주요 변경**: 대시보드 역할 기반 접근 제어, 회의진행 화면 개선, 스타일 가이드 신규 작성<br>- 1.2.0: 진행중 회의 표시 기능 (배지, 참여하기 버튼, 에러 처리)<br>- 1.2.1: 예정 회의 생성자/참자 권한 차별화 (수정 버튼, 참여 시간 제한, 타이머)<br>- 1.2.2: 참고자료 새 탭 열기, 참자 추가 초대, 스타일 가이드 신규 작성 (민트 그린 컬러 시스템)<br>- 1.2.3: 설정 메뉴 제거, Todo 클릭 시 회의록 상세로 이동 (URL 파라미터 전달) |
| 1.3.x | 2025-10-21 | 이미준, 도그냥 | **주요 변경**: 반응형 네비게이션 구조, 회의진행 화면 전면 개편, 공통 UI 컴포넌트 표준화<br>- 1.3.0: 반응형 네비게이션 (Mobile 하단 3개, Desktop 사이드바), 05-회의진행 2열 구조 재설계, 10-회의록상세조회 타임라인 탭 제거<br>- 1.3.1: AI 제안 탭 3가지 유형 상세화 (논의사항/결정사항/액션아이템), 디자인 통일성 개선<br>- 1.3.2: 참자 추가 폼 + 이메일 유효성 검증, 버튼/검색창 스타일 통일<br>- 1.3.3: 공통 UI 컴포넌트/에러 메시지 섹션 신규 작성, 중복 내용 참조 링크 교체 (파일 크기 8~10% 감소) |
| 1.4.x | 2025-10-22~25 | 이미준, 강지수, 도그냥 | **주요 변경**: Todo 관리 기능 대폭 강화, 화면 번호 재정렬, 회의록 공유 기능 제거, 유저스토리 v2.3.0 반영<br>- 1.4.0~1.4.5: 네비게이션 사양 통일, 대시보드 모바일 최적화, 공유 기능 제거, 화면 번호 통일, 로그아웃 기능 추가<br>- 1.4.6~1.4.10: 검증완료 섹션 잠금 정책, Todo 관리 확장 (통계/필터/편집), 회의록 상세 탭 순서 변경, Todo 카드 디자인 전면 개선, 공통 스타일 관리<br>- 1.4.11~1.4.13: 회의진행 액션아이템 탭 개선, Todo 카드 HTML/CSS 완전 통일 (3개 화면), D-day 배지 정책 (회의 중 숨김)<br>- 1.4.14~1.4.16: 12-회의록목록조회 데이터 아키텍처 문서화, 06-검증완료 화면 삭제, 사용자 역할 용어 통일 (생성자/참자)<br>- 1.4.17~1.4.20: STT 화자 식별 불가 반영, 05-회의진행 프로토타입 기준 전면 수정, 유저스토리 v2.3.0 반영 (충돌 방지 정책 강화) |
| 1.5.1 | 2025-10-27 | 강지수 | MVP 스코프 축소 v2.4.0 반영 (4개 화면 수정)<br>- **02-대시보드**: Todo 위젯 및 통계 제거 (UFR-USER-020 반영)<br> - Todo 위젯 전체 제거 (나의 Todo 섹션 삭제)<br> - 통계 카드: "나의 Todo" 제거, "작성중 회의록" 유지 (2개 항목)<br> - 네비게이션: 하단 네비게이션 및 사이드바에서 Todo 관리 메뉴 제거<br> - Desktop 통계 그리드: 2개 항목만 표시<br>- **05-회의진행**: "AI 제안" 탭 → "AI 기반 메모" 탭 기능 변경<br> - 메모 입력창 + 저장 버튼 추가<br> - AI가 감지한 주요 내용 리스트 표시 (시간 + 내용)<br> - 각 참여자별 개별 저장, 다른 참여자 메모 볼 수 없음<br> - 메모는 회의 종료 전까지만 표시/편집 가능<br> - 에러 처리: AI 주요 내용 감지 실패, 메모 저장 실패 추가<br>- **10-회의록상세조회**: Todo 단순 조회 기능으로 변경<br> - Todo는 제목 + 담당자 + 마감일만 표시<br> - D-day 라벨, 우선순위 배지, 진행률 바, 상태별 필터 제거<br> - Todo 관리 화면 연동 링크 제거 (화면 자체가 제거됨)<br> - "수정" 버튼을 헤더로 이동<br>- **11-회의록수정**: 실시간 협업 기능 제거, 안건 기반 충돌 방지 강화<br> - "편집 중" 표시 제거 (실시간 협업 기능 제거)<br> - Todo 편집/추가/삭제 기능 전체 제거 (단순 조회만 가능)<br> - AI 한줄 요약 재생성 불가 (회의 종료 시 1회만 생성)<br> - 검증률 표시 및 최종 확정 버튼 제거<br> - 저장 로직 추가: 검증완료 안건 저장 스킵, 저장 결과 알림<br> - 안건별 검증 완료 체크박스로 충돌 방지 (Last Write Wins 적용)<br> - 에러 처리: 충돌 경고 모달 제거 (LWW로 인해) |
| 1.5.2 | 2025-10-27 | 강지수 | AI 요약 기능 통합 및 단순화 (유저스토리 v2.4.0 반영)<br>- **11-회의록수정**: AI 요약 기능 통합<br> - 명칭 변경: "AI 상세 요약" → "AI 요약"<br> - AI 요약 영역: AI 한줄 요약만 표시 (30자 이내, 읽기 전용)<br> - 텍스트 편집 영역: 안건 내용 자유 작성 (논의 주제, 발언자별 의견, 결정 사항 등)<br> - "AI 재생성" 버튼: 텍스트 편집 영역 내용 기반으로 AI 요약의 한줄 요약 재생성 (2-5초 처리)<br> - 재생성된 한줄 요약은 회의록 상세조회 화면의 대시보드 및 회의록 탭에 즉시 반영<br> - AI 상세 요약 및 한줄 요약 분리 표시 제거<br>- **프로토타입 UI 개선**:<br> - AI 재생성 버튼 스타일 통일: btn-secondary → btn-primary (다른 화면과 일관성)<br> - 안건별 검증완료 UI 단순화: 참자는 체크박스만, 회의 생성자는 검증완료 시 잠금해제 버튼 표시<br> - .creator-only CSS 클래스 추가: data-is-creator 속성 기반 표시 제어<br>- **관련 유저스토리**: UFR-AI-036 (AI 한줄요약 확인 및 재생성), UFR-MEET-055 (안건별 검증), UFR-COLLAB-030 (충돌 방지) |
| 1.5.3 | 2025-10-27 | 강지수 | Todo 추가/편집 권한 정책 명확화 (유저스토리 v2.4.1 반영)<br>- **10-회의록상세조회**: Todo 추가/편집 권한 정책 추가 (대시보드 탭)<br> - "추가" 버튼: 모든 회의 참자에게 노출 (Todo 리스트 우측 상단)<br> - "편집(✏️)" 버튼: 회의 생성자에게만 노출 (각 Todo 항목 우측)<br> - Todo 추가 모달: 제목, 담당자, 마감일 입력 (모든 참자)<br> - Todo 편집 모달: 제목, 담당자, 마감일 수정 (회의 생성자만)<br> - 담당자 필드: 추가 시 또는 생성자의 편집 시만 표시<br>- **프로토타입 UI 개선**: 10-회의록상세조회.html<br> - Todo 추가/편집 모달 바텀시트 스타일 통일 (모바일: 하단 슬라이드 업, 데스크톱: 중앙 모달)<br> - .creator-only 클래스 적용하여 편집 버튼 권한별 표시/숨김 처리<br> - JavaScript initPage() 함수에서 회의 생성자 여부 확인 후 creator-only 요소 제어<br> - Todo 추가 성공: "담당자에게 알림이 전송되었습니다" → "캘린더가 업데이트되었습니다" 순차 토스트<br> - Todo 편집 성공: 담당자 변경 시 알림, 마감일 변경 시 캘린더 업데이트 토스트<br>- **관련 유저스토리**: UFR-MEET-047 (회의록상세조회), Todo 권한 정책 신규 추가 |
| 1.5.4 | 2025-10-28 | 도그냥 | 대시보드 최근 회의 리스트 디자인 간소화 (UFR-USER-020 반영)<br>- **02-대시보드**: 최근 회의 정렬 기준 명확화 및 디자인 간소화<br> - **정렬 기준**:<br> - 1순위: 회의록 미생성 회의 (진행중 + 예정) 우선 표시<br> - 2순위: 미생성이 3개 미만이면 최근 종료된 회의(회의록 있음)로 나머지 채움<br> - 각 그룹 내 정렬: 빠른 일시 순 (시작 시간 기준)<br> - 최대 표시: 3개<br> - **회의 카드 (클릭 가능 블록)**:<br> - 상태 라벨 (배지): "진행중", "예정", "작성중", "확정완료"<br> - 회의 제목 + 생성자 아이콘(👑)<br> - 회의 일시, 참자 수, 장소<br> - 상태 버튼 (표시용): "참여하기", "수정하기", "보기"<br> - **디자인 간소화**: D-day 표시, 깜박임 애니메이션, 세부 색상 지정 등 제거<br>- **유저스토리**: UFR-USER-020 (대시보드 조회) 동일하게 수정 |
| 1.5.5 | 2025-10-28 | 도그냥 | 회의예약 화면 임시저장 기능 제거<br>- **03-회의예약**: 헤더 임시저장 버튼 제거<br> - 헤더에서 "임시저장" 버튼 완전 제거<br> - JavaScript 변수 선언 제거 (draftSaveBtn)<br> - 임시저장 이벤트 리스너 제거<br> - 사용자는 "예약 완료" 버튼으로만 회의 예약 가능<br>- **유저스토리**: UFR-MEET-010, UFR-MEET-011 임시저장 관련 출력 항목 제거<br>- **프로토타입**: design/uiux/prototype/03-회의예약.html 수정 |
| 1.5.6 | 2025-10-28 | 도그냥, 지수 | 02-대시보드 예정 회의 권한 제어 개선 (MVP 일정 최우선)<br>- **예정 회의 카드 클릭 동작**: 생성자/참자 역할별 차별화<br> - 생성자: 카드 클릭 → 회의예약 화면(수정 모드) 진입<br> - 참자: 카드 클릭 → 시스템 알럿 표시 ("아직 회의 시간이 되지 않아 참여하실 수 없습니다")<br>- **버튼 표시 규칙 변경**: 예정 회의에서 "수정하기" 버튼 제거<br> - 진행중: "참여하기" 버튼 표시<br> - 예정: 버튼 없음 (카드 클릭으로 처리)<br> - 완료: "보기" 버튼 표시<br>- **프로토타입 수정**: design/uiux/prototype/02-대시보드.html<br> - 권한 체크 로직 추가 (isCreator 확인)<br> - 시스템 알럿 추가 (참자 클릭 시)<br>- **유저스토리 반영**: UFR-USER-020, UFR-MEET-011 예외처리 추가<br>- **다음 버전 개선 계획**: 참자용 회의 상세 조회 모달 기능 추가 예정 (회의 정보 제공 + 시작 시간 안내) |
| 1.5.6 | 2025-10-28 | 도그냥, 지수 | 02-대시보드 예정 회의 권한 제어 개선 (MVP 일정 최우선)<br>- **예정 회의 카드 클릭 동작**: 생성자/참자 역할별 차별화<br> - 생성자: 카드 클릭 → 회의예약 화면(수정 모드) 진입<br> - 참자: 카드 클릭 → 시스템 알럿 표시 ("아직 회의 시간이 되지 않아 참여하실 수 없습니다")<br>- **버튼 표시 규칙 변경**: 예정 회의에서 "수정하기" 버튼 제거<br> - 진행중: "참여하기" 버튼 표시<br> - 예정: 버튼 없음 (카드 클릭으로 처리)<br> - 완료: "보기" 버튼 표시<br>- **프로토타입 수정**: design/uiux/prototype/02-대시보드.html<br> - 권한 체크 로직 추가 (isCreator 확인)<br> - 시스템 알럿 추가 (참자 클릭 시)<br>- **유저스토리 반영**: UFR-USER-020, UFR-MEET-011 예외처리 추가<br>- **다음 버전 개선 계획**: 참자용 회의 상세 조회 모달 기능 추가 예정 (회의 정보 제공 + 시작 시간 안내) |
| 1.5.7 | 2025-10-28 | 도그냥, 지수 | UFR-TODO 잔여 참조 제거 (문서 정리)<br>- **유저스토리 매핑 섹션**: "Todo 서비스" 항목 제거 (96라인)<br>- **프로토타입 화면 목록**: "09 Todo관리" 화면 취소선 처리 및 제거 표시 추가 (124라인)<br>- **09-Todo관리 화면**: 제거 안내 추가 (개요 섹션에 경고 메시지 삽입)<br> - MVP v2.4.0에서 제거됨을 명확히 표시<br> - Todo 기능은 회의록 상세조회(10번) 화면에서만 제공됨을 안내<br>- **Todo 편집 섹션**: MVP v2.4.0 제거 표시 추가 (1163라인)<br>- **관련 유저스토리**: UFR-TODO-010, UFR-TODO-030, UFR-TODO-040 참조 제거 또는 삭제 표시<br>- **참고**: Todo 관리 독립 화면은 제거되었으나 회의록 내 Todo 기능(추가/편집)은 10번 화면에서 유지됨 |
| 1.5.8 | 2025-10-28 | 지수, 도그냥 | MVP v2.4.5 반영: Todo 관리 및 검증완료 플로우 정리<br>- **사용자 플로우**: "검증완료" 단계 제거, "회의종료 → 회의록수정" 플로우로 변경<br> - 시나리오 1: 회의진행 → 회의종료 → 회의록수정 (선택) → 대시보드<br> - 시나리오 3 (Todo 관리) 제거 표시<br>- **플로우 다이어그램**: 검증완료 및 Todo 관련 플로우 제거, 회의종료 후 회의록수정 선택 플로우로 단순화<br>- **02-대시보드**: Todo 항목 클릭 시 회의록 상세 이동 로직 제거, Todo 데이터 요구사항 제거, Todo 관련 빈 상태 제거<br>- **07-회의종료**: Todo 서비스 연동 제거 (Meeting, AI 서비스만 연동)<br>- **10-회의록상세조회**: Todo 서비스 연동 제거<br>- **네비게이션**: 하단 네비게이션 및 Desktop 사이드바에서 Todo 관리 메뉴 제거 표시 (MVP v2.4.0)<br> - Mobile 하단 네비게이션: 3개 → 2개 항목 (홈, 회의록)<br> - Desktop 사이드바: Todo 메뉴 제거<br>- **변경 근거**: 유저스토리 v2.4.5 기준, Todo 관리 독립 화면 제거 및 회의 종료 후 회의록 수정 단계로 간소화 |
| 1.5.9 | 2025-10-28 | 지수, 도그냥 | 용어 통일: "참석자/참석" → "참여자/참여" 변경<br>- **화면설계서**: 100개 인스턴스 변경 (uiux.md)<br> - "참석자" → "참여자" (88개)<br> - "참석" → "참여" (12개): "내가 참석한 회의", "본인이 참석한 회의록", "참석한 회의" 등<br>- **유저스토리**: 132개 인스턴스 변경 (userstory.md)<br> - "참석자" → "참여자" (125개)<br> - "참석" → "참여" (7개): "참석 중인 사용자", "참석 권한", "참석률" 등<br>- **프로토타입**: 34개 인스턴스 변경 (9개 HTML 파일)<br> - "참석자" → "참여자" (32개)<br> - "참석" → "참여" (2개)<br>- **총 266개 인스턴스 변경**: 사용자 역할 용어 완전 통일 (생성자/참여자 체계) |
[↑ 목차로 돌아가기](#목차)

File diff suppressed because it is too large Load Diff