75 Commits

Author SHA1 Message Date
Minseo-Jo
093b8751d5 fix: Meeting 서비스 컴파일 에러 수정
- MeetingAiController의 메서드 호출 오류 수정
  - getAgendaSectionsByMeeting() -> getAgendaSectionsByMeetingId()로 변경
  - AgendaSection의 todos, pendingItems가 JSON 문자열이므로 null로 처리
  - getSummary() 메서드가 없어 aiSummaryShort 사용
- GitHub Actions 빌드 에러 해결

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 15:22:22 +09:00
Minseo-Jo
b236067b7c chore: .gitignore에 로그 파일 추가 및 기존 로그 파일 추적 제거
- logs/, *.log 패턴 추가
- 기존 추적되던 로그 파일 제거
- 향후 merge 충돌 방지

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 15:16:45 +09:00
Minseo-Jo
d854ce6312 Merge feat/meeting-ai into main - AI 서비스 빌드 에러 수정
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 15:15:04 +09:00
Minseo-Jo
9370d10d68 fix: AI 서비스 빌드 에러 수정 - 사용하지 않는 InMemoryCheckpointStore 클래스 삭제
- Azure Event Hubs 의존성이 필요한 InMemoryCheckpointStore.java 파일 삭제
- 해당 클래스는 프로젝트에서 사용되지 않음
- GitHub Actions 빌드 에러 해결

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 15:14:20 +09:00
Minseo-Jo
6770dd4ad9 Merge feat/meeting-ai into main
회의 종료 API 및 AI 회의록 통합 기능을 main 브랜치에 병합

주요 기능:
- 회의 종료 시 AI 자동 요약 생성
- 안건별 논의사항/결정사항 자동 정리
- 주요 키워드 추출
- Todo 및 보류사항 자동 식별

충돌 해결:
- MinutesSectionEntity: id 필드명으로 통일
- AgendaSection 관련 파일들: feat/meeting-ai 버전 사용
- application.yml: AI Service 포트 8086 설정 유지

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 14:49:37 +09:00
Minseo-Jo
e30aa5c116 feat: Meeting AI 통합 - 회의 종료 API 및 AI 회의록 요약 기능 구현
주요 변경사항:
- 회의 종료 API 구현 (POST /api/meetings/{meetingId}/end)
- AI 회의록 통합 요약 기능 구현
- Claude API 연동 및 프롬프트 최적화
- 안건별 요약, 키워드 추출, 결정사항 자동 정리

AI Service (Python):
- Claude 모델 설정: claude-sonnet-4-5-20250929
- 회의록 통합 프롬프트 개선
- AgendaSummary 모델 summary 필드 매핑 수정
- decisions 필드 추가 및 응답 구조 정리
- 입력 데이터 로깅 추가

Meeting Service (Java):
- EndMeetingService AI 통합 로직 구현
- MeetingAnalysis 엔티티 decisions 필드 추가
- AgendaSection opinions 필드 제거
- AI Service 포트 8086으로 설정
- DB 마이그레이션 스크립트 추가 (V7)

테스트 결과:
 회의 종료 API 정상 동작
 AI 응답 검증 (keywords, summary, decisions)
 안건별 요약 및 보류사항 추출
 처리 시간: ~11초, 토큰: ~2,600

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 14:46:41 +09:00
djeon
5859b1c498 fix: change event hub connection string 2025-10-29 14:36:41 +09:00
djeon
c662393261 fix: change eventhub connection string 2025-10-29 14:34:26 +09:00
Minseo-Jo
96e09ae83d fix: AgendaSection opinions 필드 제거 및 DB 마이그레이션 스크립트 추가
- AgendaSection 도메인 및 Entity에서 opinions 필드 제거
- ParticipantOpinion 내부 클래스 삭제
- MeetingAiController 및 AgendaSectionResponse에서 opinions 관련 로직 제거
- agenda_sections 테이블 마이그레이션 SQL 스크립트 추가
  * agenda_number: varchar(50) → integer 변환
  * decisions, pending_items, todos: text → json 변환
  * opinions 컬럼 삭제
- 자동 백업 및 롤백 기능 포함

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 11:19:16 +09:00
djeon
3e9dcb8981 fix: enable flyway 2025-10-29 10:51:41 +09:00
cyjadela
77f38abe48 Chore: 회의 시작 API 상태 조건 변경 2025-10-29 10:09:12 +09:00
djeon
01540bca91 push meeting mig sql 2025-10-29 10:05:15 +09:00
Minseo-Jo
621d4c16df 작업 중: Meeting AI 통합 개발 진행 상황 저장 2025-10-29 09:15:23 +09:00
djeon
a0f42bb22d for merge 2025-10-29 06:01:41 +09:00
djeon
77f0bc247b for merge 2025-10-29 05:56:46 +09:00
djeon
44ae9c546f feat: rag용 회의록확정 event 발행 및 meeting 참석자 데이터 삭제 에러 개선 2025-10-29 05:51:01 +09:00
cyjadela
d003e801bb Chore: 회의록 상세 조회 API 실제 데이터 연동 2025-10-28 22:27:31 +09:00
cyjadela
6c005ec923 Feat: 대시보드 조회 API에 생성자 여부 추가 2025-10-28 20:33:27 +09:00
cyjadela
ad76059db6 Fix: minutes_id 충돌 해결 2025-10-28 20:30:41 +09:00
Minseo-Jo
143721d106 feat: Meeting Service AI 통합 개발
 구현 완료
- AI Python Service (FastAPI, Claude API, 8087 포트)
  - POST /api/v1/transcripts/consolidate
  - 참석자별 회의록 → AI 통합 분석
  - 키워드/안건별 요약/Todo 추출

- Meeting Service AI 통합
  - EndMeetingService (@Primary)
  - AIServiceClient (RestTemplate, 30초 timeout)
  - AI 분석 결과 저장 (meeting_analysis, todos)
  - 회의 상태 COMPLETED 처리

- DTO 구조 (간소화)
  - ConsolidateRequest/Response
  - MeetingEndDTO
  - Todo 제목만 포함 (담당자/마감일 제거)

📝 기술스택
- Python: FastAPI, anthropic 0.71.0, psycopg2
- Java: Spring Boot, RestTemplate
- Claude: claude-3-5-sonnet-20241022

🔧 주요 이슈 해결
- 포트 충돌: 8086(feature/stt-ai) → 8087(feat/meeting-ai)
- Bean 충돌: @Primary 추가
- YAML 문법: ai.service.url 구조 수정
- anthropic 라이브러리 업그레이드

📚 테스트 가이드 및 스크립트 작성
- claude/MEETING-AI-TEST-GUIDE.md
- test-meeting-ai.sh

🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 16:42:09 +09:00
cyjadela
9fe3e4f9ae Chore: 회의 예약 API path 변경 2025-10-28 15:43:26 +09:00
cyjadela
ba4dfe2d99 Chore: 회의 종료 API 이벤트 발행 로직 추가 2025-10-28 14:52:50 +09:00
Minseo-Jo
79036128ec feat: Meeting Service AI 통합 API 개발 완료
## 구현 내용
- 참석자별 회의록 조회 API (GET /api/meetings/{meetingId}/ai/participant-minutes)
- 안건별 섹션 조회 API (GET /api/meetings/{meetingId}/ai/agenda-sections)
- 회의 통계 조회 API (GET /api/meetings/{meetingId}/ai/statistics)

## DB 스키마 변경
- V4 마이그레이션: agenda_sections 테이블에 todos JSON 컬럼 추가
- AI가 추출한 Todo를 안건별로 저장하는 구조

## 주요 특징
- AI Service가 한 번에 요약 + Todo 추출
- 프로토타입 기반 요구사항 반영 (불필요한 통계 제거)
- Todo 수를 agenda_sections의 todos 컬럼에서 집계

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 14:22:59 +09:00
cyjadela
91c922fa89 Chore: 대시보드 조회 API todo 필드명 변경 2025-10-28 14:14:22 +09:00
cyjadela
cf9b388127 Feat: Todo 생성 API 구현 2025-10-28 13:36:02 +09:00
Minseo-Jo
92e4863fc7 feat: 회의종료 기능을 위한 DB 스키마 추가
## 변경 내용
- minutes 테이블에 user_id 컬럼 추가 (참석자별 회의록 지원)
  * user_id IS NULL: AI 통합 회의록
  * user_id IS NOT NULL: 참석자별 회의록

- agenda_sections 테이블 생성 (안건별 AI 요약 저장)
  * agenda_number, agenda_title
  * ai_summary_short, discussions, decisions (JSON)
  * pending_items (JSON), opinions (JSON)

- ai_summaries 테이블 생성 (AI 결과 캐싱)
  * summary_type: CONSOLIDATED, TODO_EXTRACTION
  * keywords, statistics (JSON)
  * processing_time_ms (성능 모니터링)

- todos 테이블 확장 (AI 추출 정보)
  * extracted_by: AI, MANUAL
  * section_reference: 관련 안건 참조
  * extraction_confidence: 0.00~1.00

## 문서
- DB-Schema-회의종료.md: 상세 스키마 문서
- ERD-회의종료.puml: ERD 다이어그램
- 회의종료-개발계획.md: 전체 개발 계획

## 설계 개선
- is_consolidated 컬럼 제거 (user_id로 구분 가능)
- 중복 정보 제거로 데이터 일관성 향상
2025-10-28 11:21:32 +09:00
cyjadela
e09ef19d5e Chore: 회의록 상세조회 API 수정 2025-10-28 11:11:25 +09:00
cyjadela
280321fa94 Merge branch 'main' of https://github.com/hwanny1128/HGZero into feat/meeting 2025-10-28 09:40:18 +09:00
cyjadela
45dc77cddf Chore: 회의록 목록 조회 API 실제 데이터 연동 2025-10-27 17:43:04 +09:00
cyjadela
0be39486b4 Merge branch 'main' of https://github.com/hwanny1128/HGZero into chore/path 2025-10-27 17:02:02 +09:00
cyjadela
e5337385f4 Chore: 회의 종료 API 실제 데이터 연동 2025-10-27 16:48:17 +09:00
cyjadela
8f5feb566e Chore: ai 서비스 API 엔드포인트 변경 2025-10-27 15:59:33 +09:00
cyjadela
0a77db1215 Chore: meeting 서비스 API 엔드포인트 변경 2025-10-27 15:55:16 +09:00
cyjadela
c16e3e8fd4 Chore: 회의 종료 API 실제 데이터 연동 2025-10-27 15:46:47 +09:00
cyjadela
6a2574e9f5 Feat: 대시보드 조회 API 실제 데이터 연동 2025-10-27 15:28:23 +09:00
cyjadela
b7f1352f86 Chore: 참석자 초대 API 이벤트 발행 로직 추가 2025-10-27 14:45:19 +09:00
cyjadela
3e2d2a2004 Merge branch 'main' of https://github.com/hwanny1128/HGZero into feat/meeting 2025-10-27 14:19:49 +09:00
cyjadela
4f7046acfd Feat: 회의록 상세 조회 API (mock) 구현 2025-10-27 14:12:54 +09:00
Daewoong Jeon
4c7f41939a
Create README.md 2025-10-27 13:31:58 +09:00
cyjadela
279bfa0758 회의록 목록 조회 API (mock) 구현 2025-10-27 13:12:28 +09:00
cyjadela
a7ce5a6edd Merge branch 'main' of https://github.com/hwanny1128/HGZero into feat/meeting 2025-10-27 11:31:18 +09:00
cyjadela
0e899fe496 Feat: 대시보드 조회 API 개발 2025-10-27 11:29:56 +09:00
cyjadela
fca069cf9c Chore: 회의 종료 API 수정 2025-10-27 11:14:34 +09:00
djeon
06f1a13a47 fix: meeting 참석자 데이터 정규화 2025-10-27 11:07:35 +09:00
djeon
3f20f19f44 fix: redis standalone 모드로 변경 2025-10-26 10:08:38 +09:00
djeon
3c7ea9d013 fix: redis 설정수정 및 Event 발행 포맷 수정 2025-10-26 00:15:10 +09:00
djeon
d3f0be10be feat: 최종회의록확정 API 추가 2025-10-25 12:59:17 +09:00
cyjadela
ba32a70ad2 Merge branch 'main' of https://github.com/hwanny1128/HGZero into feat/meeting 2025-10-24 15:47:44 +09:00
cyjadela
6db366ac86 Merge branch 'main' of https://github.com/hwanny1128/HGZero into feat/meeting 2025-10-24 15:46:22 +09:00
djeon
4f80189d57 feat: add 회의시작 API 2025-10-24 15:44:55 +09:00