30 Commits

Author SHA1 Message Date
Minseo-Jo
74c9506249 fix: EventHubPublisher 주석 개선 및 재배포 트리거
- EventHub 환경변수 설정 및 이벤트 발행 프로세스 문서화
- AI Python 서비스로의 실시간 이벤트 전달 흐름 명시
- 재배포를 통해 실제 EventHub 연결 활성화

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 20:21:39 +09:00
hjmoons
3483c9c1b2 Jenkins 파이프라인 추가
- Jenkinsfile: GitHub Actions 대체 Jenkins Pipeline 구축
  - 5개 백엔드 서비스 빌드 (user, meeting, stt, ai, notification)
  - Gradle 빌드 및 SonarQube 분석 (선택사항)
  - Docker 이미지 빌드 및 ACR 푸시
  - Manifest 저장소 업데이트 (ArgoCD 연동)
  - 환경별 배포 지원 (dev/staging/prod)

- deployment/jenkins/JENKINS_SETUP.md: Jenkins 설정 가이드
  - Credentials 설정 방법
  - JDK 21 및 SonarQube 설정
  - Pipeline Job 생성 및 실행 가이드
  - 트러블슈팅 가이드

- 사용 이유: GitHub Actions 차단으로 인한 대체 CI/CD 구축
2025-10-30 18:16:56 +09:00
Minseo-Jo
032842cf53 Feat: AI 서비스 및 STT 서비스 기능 개선
- AI 서비스: Redis 캐싱 및 EventHub 통합 개선
- STT 서비스: 오디오 버퍼링 및 변환 기능 추가
- 설정 파일 업데이트

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 15:24:13 +09:00
Minseo-Jo
42128e66f2 Fix: TranscriptionServiceImpl에 sessionId 파라미터 추가
- SegmentCreated.of() 메서드 호출 시 sessionId 파라미터 누락 수정
- sessionId에 meetingId 값 할당

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 09:11:28 +09:00
Minseo-Jo
5c4f186290 Merge branch 'main' of https://github.com/hwanny1128/HGZero 2025-10-30 09:03:36 +09:00
Minseo-Jo
b1ef088795 STT 이벤트에 sessionId 추가 및 오디오 청크 처리 시간 15초로 변경
- TranscriptionEvent.SegmentCreated에 sessionId 필드 추가
- AudioBatchProcessor의 스케줄링 간격을 10초에서 15초로 변경
- AI 서비스의 TranscriptSegmentReadyEvent에도 sessionId 필드 추가
- 이벤트 발행 시 sessionId에 meetingId 값 할당

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 09:03:19 +09:00
djeon
987f48c7ff fix: add stt security config (header) 2025-10-30 08:44:01 +09:00
Minseo-Jo
c2aedc86c5 Merge feature/stt-ai into main
주요 변경사항:
- EventHub 공유 액세스 정책 재설정 (send-policy, listen-policy)
- Redis DB 2번 읽기 전용 문제 해결
- AI-Python 서비스 추가 (FastAPI 기반)
- STT WebSocket 실시간 스트리밍 구현
- AI 제안사항 실시간 추출 기능 구현
- 테스트 페이지 추가 (stt-test-wav.html)
- 개발 가이드 문서 추가

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 16:01:47 +09:00
Minseo-Jo
3e411eb8d5 EventHub 재설정 및 Redis 읽기 전용 문제 해결
- EventHub 공유 액세스 정책 재설정 (send-policy, listen-policy)
- STT 서비스: send-policy 연결 문자열 업데이트
- AI-Python 서비스: listen-policy 연결 문자열 업데이트
- Meeting 서비스: listen-policy 연결 문자열 업데이트
- Redis DB 2번 Slave → Master 승격
- STT 테스트 페이지 추가 (stt-test-wav.html)
- EventHub 재설정 가이드 문서 추가

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 15:56:52 +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
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
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
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
Minseo-Jo
621d4c16df 작업 중: Meeting AI 통합 개발 진행 상황 저장 2025-10-29 09:15:23 +09:00
Minseo-Jo
2c3bc432b3 STT 서비스 음성 인식 및 AI 제안사항 표시 기능 구현
- PCM 16kHz 포맷 지원으로 Azure Speech 인식 성공
- WebSocket 실시간 전송 기능 추가
- DB 저장 로직 제거 (AI 서비스에서 제안사항 저장)
- AI SSE 기반 제안사항 표시 테스트 페이지 추가

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 10:12:55 +09:00
Minseo-Jo
7e30f6b82e Merge branch 'main' into feature/stt-ai - 로그 파일 충돌 해결 2025-10-28 09:33:19 +09:00
ondal
7751efc688 설계 문서 및 참조 자료 업데이트
- 통신업무도메인 문서 수정
- 구현방안 관련자료 및 용어집 추가
- 컴파일된 클래스 파일 업데이트

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 09:31:22 +09:00
cyjadela
c47d731655 Chore: stt 서비스 API 엔드포인트 변경 2025-10-27 16:01:50 +09:00
Minseo-Jo
0209652a90 STT 서비스 배치 방식 구현 완료
주요 구현사항:
- 5초마다 Redis 오디오 버퍼를 배치 처리하여 텍스트 변환
- WebSocket 실시간 오디오 수신 및 Redis Stream 저장
- Azure Speech Service 연동 (시뮬레이션 모드 포함)
- Event Hub 이벤트 발행 (AI 서비스 연동)

아키텍처:
Frontend (오디오 캡처)
  → WebSocket → STT Service
  → Redis Stream (버퍼)
  → @Scheduled(5초) 배치 처리
  → Azure Speech API
  → DB 저장 + Event Hub 발행
  → AI Service (텍스트 분석)

핵심 컴포넌트:
1. AudioWebSocketHandler
   - WebSocket 연결 관리
   - JSON/Binary 메시지 처리
   - Redis Stream에 오디오 저장

2. AudioBufferService
   - Redis Stream 오디오 버퍼링
   - 청크 조회 및 병합
   - 활성 회의 관리

3. AzureSpeechService
   - Azure Speech SDK 연동
   - 배치 단위 음성 인식
   - 시뮬레이션 모드 지원

4. AudioBatchProcessor
   - @Scheduled(5초) 배치 작업
   - 오디오 → 텍스트 변환
   - TranscriptSegment DB 저장
   - Event Hub 이벤트 발행

배치 방식의 장점:
 비용 최적화: Azure API 호출 1/5 감소
 문맥 이해: 5초 분량 한 번에 처리로 정확도 향상
 AI 효율: 일정량 텍스트 주기적 생성
 안정성: 재시도 로직 구현 용이

설정:
- Azure Speech: eastus, ko-KR
- Redis: 포트 6379, DB 3
- WebSocket: /ws/audio
- 배치 주기: 5초 (고정)

다음 단계:
- 프론트엔드 WebSocket 클라이언트 구현
- 실제 Azure Speech API 키 설정
- E2E 통합 테스트 (STT → AI → Frontend)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 13:39:22 +09:00
Minseo-Jo
14d03dcacf STT-AI 통합 작업 진행 중 변경사항 커밋
- AI 서비스 CORS 설정 업데이트
- 회의 진행 프로토타입 수정
- 빌드 리포트 및 로그 파일 업데이트

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 13:17:47 +09:00
Minseo-Jo
ad8e0adbd8 STT 테스트 환경 구성 및 유저스토리 업데이트
- docker-compose.test.yml 추가: 테스트용 컨테이너 환경 구성
- STT 테스트 설정 및 컨트롤러 테스트 코드 추가
- application.yml 업데이트
- 테스트 스크립트 추가
- 유저스토리 문서 업데이트

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-24 14:50:56 +09:00
Minseo-Jo
694a84e4f5 화자 식별 기능 제거 및 STT 서비스 단순화
프로토타입 검토 결과, 화자 식별 기능이 현재 요구사항에서 제외되어 관련 코드 및 설계 문서를 제거하고 현행화했습니다.

변경사항:
1. 백엔드 코드 정리
   - Speaker 관련 컨트롤러, 서비스, 리포지토리 삭제
   - Speaker 도메인, DTO, 이벤트 클래스 삭제
   - Recording 및 Transcription 서비스에서 화자 관련 로직 제거

2. API 명세 현행화 (stt-service-api.yaml)
   - 화자 식별/관리 API 엔드포인트 제거 (/speakers/*)
   - 응답 스키마에서 speakerId, speakerName 필드 제거
   - 화자 관련 스키마 전체 제거 (Speaker*)
   - API 설명에서 화자 식별 관련 내용 제거

3. 설계 문서 현행화
   - STT 녹음 시퀀스: 화자 식별 단계 제거
   - STT 텍스트변환 시퀀스: 화자 정보 업데이트 로직 제거, 배치 모드 제거
   - 실시간 전용 기능으로 단순화

영향:
- 화자별 발언 구분 기능 제거
- 실시간 음성-텍스트 변환에만 집중
- 시스템 복잡도 감소 및 성능 개선 (초기화 시간: 1.1초 → 0.8초)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-24 14:46:39 +09:00
cyjadela
63615d823b stt service 빌드 에러 해결 2025-10-24 10:04:58 +09:00
djeon
0dc0e0cee6 meeting, notification 실행환경 설정 2025-10-23 23:53:28 +09:00
djeon
eb2302a0eb meeting 및 notification 실행환경 설정 2025-10-23 23:51:28 +09:00
cyjadela
cf6424415a meeting 서비스 빌드 성공 2025-10-23 21:44:35 +09:00
cyjadela
71d6675d25 백엔드 실행 프로파일 작성 2025-10-23 18:33:21 +09:00
cyjadela
53f499cc7c 백엔드 stt 서비스 개발 2025-10-23 15:35:47 +09:00
djeon
98ede67f62 develop 2025-10-23 14:55:33 +09:00