611 Commits

Author SHA1 Message Date
djeon
50b4f645e3 for merge 2025-10-29 15:32:33 +09:00
cyjadela
7e2094bcbc Chore: 회의록 상세조회 API - db 변경사항 적용 2025-10-29 15:32:00 +09:00
djeon
43d919dded feat: change api path 2025-10-29 15:31:29 +09:00
djeon
ad7975efbd feat: rag 서비스 Event Hub 연동 및 연관 회의록 API 추가 2025-10-29 15:29:40 +09:00
Minseo-Jo
77ad99bdc7 feat: AgendaSection todos JSON 파싱 로직 추가
- ObjectMapper를 사용하여 todos JSON 문자열을 파싱
- TodoJson DTO 클래스 추가
- parseTodosJson() 메서드 구현
- MeetingStatisticsResponse에서 실제 Todo 개수 계산
- 에러 처리 로직 추가 (파싱 실패 시 빈 리스트 반환)

JSON 구조: [{title, assignee, dueDate, description, priority}]

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 15:26:15 +09:00
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
Daewoong Jeon
67d768fffa
Merge pull request #32 from hwanny1128/feat/rag-function
Feat/rag function
2025-10-29 14:37:33 +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
cyjadela
d0aa6353da Feat: 회의 중 메모 저장 API 구현 2025-10-29 14:08:27 +09:00
yabo0812
3bcc4d4f6b
Merge pull request #31 from hwanny1128/wip/cleanup-uiux-files
UI/UX 문서 정리: 불필요한 백업 파일 및 참조 이미지 삭제
2025-10-29 13:59:11 +09:00
yabo0812
01bb4198d9 UI/UX 문서 정리: 불필요한 백업 파일 및 참조 이미지 삭제
주요 변경사항:
- 프로토타입 백업 파일 삭제 (대시보드, 회의진행)
- 참조 이미지 파일 정리 (KakaoTalk 스크린샷 4건)
- UI/UX 설계서 및 유저스토리 업데이트

프로젝트 정리 및 문서 구조 개선

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 13:51:38 +09:00
cyjadela
764a620980 Chore: 회의록 상세 조회 API - AgendaSection 업데이트 반영 2025-10-29 13:26:20 +09:00
Minseo-Jo
90e31451a5 fix: AI 서비스 인증 제거
- SecurityConfig에서 JWT 인증 제거하여 모든 요청 허용
- JwtTokenProvider 및 JwtAuthenticationFilter 의존성 제거
- 프론트엔드에서 토큰 없이 API 호출 가능하도록 수정

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 11:30:58 +09:00
Minseo-Jo
c85845a7ee fix: STT 서비스 인증 제거 및 DTO 역직렬화 문제 해결
- SecurityConfig에서 JWT 인증 제거하여 모든 요청 허용
- RecordingDto에 Jackson 역직렬화를 위한 어노테이션 추가
  - @NoArgsConstructor, @AllArgsConstructor 추가
  - @JsonDeserialize, @JsonPOJOBuilder 추가
- 프론트엔드에서 토큰 없이 API 호출 가능하도록 수정

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 11:30:08 +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
Daewoong Jeon
9c611df9ce
Merge pull request #30 from hwanny1128/feat/rag-setting
Feat/rag setting
2025-10-29 10:52:22 +09:00
djeon
3e9dcb8981 fix: enable flyway 2025-10-29 10:51:41 +09:00
Minseo-Jo
92c18f71c0 AI 서비스 재시작 스크립트 개선 및 STT 서비스 수정
- AI 서비스 reload 설정 비활성화 (포트 충돌 방지)
- start.sh 삭제 및 restart.sh로 대체
- STT 서비스 로깅 및 WebSocket 핸들러 개선
- 회의 안건 섹션 마이그레이션 SQL 추가

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 10:51:19 +09:00
djeon
37adf6862a Merge branch 'main' of https://github.com/hwanny1128/HGZero into feat/rag-setting 2025-10-29 10:47:39 +09:00
Cho Yoon Jin
c50132f36e
Merge pull request #29 from hwanny1128/feat/meeting
Chore: 회의 시작 API 상태 조건 변경
2025-10-29 10:09:46 +09:00
cyjadela
77f38abe48 Chore: 회의 시작 API 상태 조건 변경 2025-10-29 10:09:12 +09:00
Daewoong Jeon
e3f75907e9
Merge pull request #28 from hwanny1128/feat/rag-setting
push meeting mig sql
2025-10-29 10:05:54 +09:00
djeon
a6a2408b5d Merge branch 'main' of https://github.com/hwanny1128/HGZero into feat/rag-setting 2025-10-29 10:05:32 +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
Daewoong Jeon
34b03656e4
Merge pull request #27 from hwanny1128/feat/rag-setting
Feat/rag setting
2025-10-29 06:02:58 +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
5d897cb845 feat: init rag service 2025-10-29 05:54:08 +09:00
djeon
44ae9c546f feat: rag용 회의록확정 event 발행 및 meeting 참석자 데이터 삭제 에러 개선 2025-10-29 05:51:01 +09:00
Cho Yoon Jin
532d93396b
Merge pull request #26 from hwanny1128/feat/meeting
Fix: Meeting API 개선
2025-10-28 22:35:30 +09:00
cyjadela
d003e801bb Chore: 회의록 상세 조회 API 실제 데이터 연동 2025-10-28 22:27:31 +09:00
yabo0812
c1ce3eba3c Merge branch 'wip/design-yabo': 용어 통일 (참석자/참석 → 참여자/참여)
UI/UX 설계서 및 유저스토리 용어 일관성 개선 (v1.5.9)

주요 변경사항:
- 화면설계서: 100개 인스턴스 변경
- 유저스토리: 132개 인스턴스 변경
- 프로토타입: 34개 인스턴스 변경
- 총 266개 인스턴스 용어 통일

사용자 역할 용어 체계 완전 통일 (생성자/참여자)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 20:39:27 +09:00
yabo0812
e974344996 UFR-MEET-055 회의록수정 유저스토리 정정
회의록 수정 화면에서 Todo 관련 내용 완전 제거
- 프로토타입(11-회의록수정.html) 검증 결과 Todo UI 미존재 확인
- Todo 관리는 회의록 상세조회 화면(10-회의록상세조회.html)에서만 가능
- 회의록 수정 화면 출력 내용에 관련회의록 추가/제거 기능 명시

수정 사항:
- 수행절차: Todo 조회 항목 제거
- 출력/결과: Todo 목록 항목 제거, 관련회의록 추가/제거 추가

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 20:38:05 +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
yabo0812
419e3a7661 Merge branch 'wip/design-yabo': 용어 통일 (참석자/참석 → 참여자/참여)
UI/UX 설계서 및 유저스토리 용어 일관성 개선 (v1.5.9)

주요 변경사항:
- 화면설계서: 100개 인스턴스 변경
- 유저스토리: 132개 인스턴스 변경
- 프로토타입: 34개 인스턴스 변경
- 총 266개 인스턴스 용어 통일

사용자 역할 용어 체계 완전 통일 (생성자/참여자)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 20:04:31 +09:00
yabo0812
96a4d74a43 용어 통일: 참석자/참석 → 참여자/참여 변경 (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>
2025-10-28 20:03:30 +09:00
yabo0812
bac1bcb4c4 UFR-TODO 및 UFR-TERM 잔여 참조 정리
유저스토리:
- UFR-TODO 참조 제거 (742, 1136-1137 라인)
- UFR-TERM-010/020/030 전체 삭제 (RAG와 기능 중복)
- 버전 업데이트: v2.4.3 → v2.4.4
- 목차에서 UFR-TERM 항목 제거
- 변경 이력 추가

UI/UX 설계서:
- Todo 서비스 매핑 제거 (96 라인)
- 09-Todo관리 화면 취소선 처리 및 제거 표시
- 09-Todo관리 섹션에 제거 안내 추가
- Todo 편집 섹션 제거 표시
- 버전 업데이트: v1.5.6 → v1.5.7
- 변경 이력 추가
- 목차 2-depth로 간소화

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 19:08:36 +09:00
yabo0812
bbe73d5344 대시보드 프로토타입 개선
• 02-대시보드.html 수정
  - 예정 회의 카드 권한 제어 개선
  - 생성자/참석자 역할별 클릭 동작 차별화

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 18:38:37 +09:00
yabo0812
c38cc792d5 실시간 협업 기능 유저스토리 정리 (v2.4.3)
• UFR-COLLAB-010 (회의록수정동기화) 삭제
  - WebSocket 기반 실시간 동기화 기능 미구현
  - MVP 스코프에서 제외됨

• UFR-COLLAB-020 (충돌해결) 삭제
  - 안건 기반 충돌 방지는 UFR-COLLAB-030과 UFR-MEET-055에 통합
  - Last Write Wins 정책은 UFR-MEET-055에 명시

• UFR-MEET-055 예외처리 개선
  - 동시 편집 정책에 충돌 처리 상세 설명 추가
  - Last Write Wins 정책 명시

• 마이크로서비스 구성 수정
  - 실시간 협업 제거
  - 안건별 검증완료 및 잠금 처리로 변경
  - Notification 서비스 추가

• UI/UX 설계서 동기화
  - 모든 UFR-COLLAB-010/020 참조를 UFR-COLLAB-030으로 변경
  - 05-회의진행, 11-회의록수정 화면 관련 유저스토리 업데이트
  - 화면 맵핑 테이블 수정

• 문서 버전: v2.4.2 → v2.4.3

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 18:37:25 +09:00
Minseo-Jo
c9d24ce1af feat: AI 서비스 AKS 배포 준비 및 API 경로 수정
## API 경로 변경
- /api/v1/ai → /api/ai 로 경로 단순화
- 최종 엔드포인트: /api/ai/suggestions/meetings/{meetingId}/stream

## Docker 컨테이너화
- Dockerfile 작성 (Python 3.11 slim 기반)
- .dockerignore 추가
- 헬스 체크 포함

## Kubernetes 배포
- Deployment 및 Service 매니페스트 작성
- Replica: 1, Port: 8087
- Liveness/Readiness Probe 설정
- 리소스 제한: CPU 250m-1000m, Memory 512Mi-1024Mi

## Secret 및 ConfigMap
- ai-secret: Claude API Key
- azure-secret: Event Hub Connection String (AI Listen Policy)
- redis-config/redis-secret: Redis 연결 정보

## Ingress 설정
- /api/ai/suggestions 경로 추가 (ai-service:8087)
- 기존 /api/ai 경로 유지 (ai:8080)

## 배포 문서
- DEPLOYMENT.md: 상세한 AKS 배포 가이드
  - Docker 이미지 빌드 및 푸시
  - Secret/ConfigMap 생성
  - 배포 및 검증
  - 트러블슈팅

## ACR 이미지
- acrdigitalgarage02.azurecr.io/hgzero/ai-service:latest

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 17:08:28 +09:00
Minseo-Jo
938cfdb98e feat: AI 서비스 Swagger UI 및 프론트엔드 연동 문서 추가
- Swagger UI를 Spring Boot 스타일(/swagger-ui.html)로 변경
- OpenAPI 스펙 개선 및 상세한 API 문서화
- 프론트엔드 연동을 위한 API-DOCUMENTATION.md 추가
  - SSE 연결 예시 (JavaScript/React)
  - 응답 스키마 및 TypeScript 인터페이스
  - 동작 흐름 및 주의사항
- FastAPI 설정 파일(config.py) 추가
- API 엔드포인트:
  - GET /api/v1/ai/suggestions/meetings/{meeting_id}/stream (SSE)
  - GET /health (헬스 체크)
  - GET /v3/api-docs (OpenAPI JSON)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 16:58:01 +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