-
Notifications
You must be signed in to change notification settings - Fork 1
[MERGE] DEVELOP TO MAIN (AI 채팅, 일기, 알림 등 핵심 기능 구현) #99
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…Controller logId->logBaseInfoId로 변경
Feat/#83 diary cru api
…-buudyEnum Feat/#81 change bubble enum buddy enum
Feat/#85 기존 로그북 검증 로직 추가
fix: ImageService 변경에 따른 호출부 코드 수정
fix: 도감 카드 목록 조회 시 이미지가 누락되는 문제 해결
fix/#94:로그북 put request dto 수정
- OpenAIService에 WebClient final 필드 추가 - baseURL과 Authorization 헤더로 WebClient 구성 - @requiredargsconstructor를 명시적 생성자로 변경
- OpenAIService에 공식 스펙 준수 스트림 요청 메서드 추가 (stream: true, SSE 처리) - ChatRoomStreamService에서 SSE 청크 파싱 및 실시간 메시지 전송 구현 - 5분 타임아웃 SseEmitter와 점진적 메시지 누적 기능
- ConcurrentHashMap 기반 활성 연결 추적 - 자동 연결 정리 및 메모리 최적화 - OpenAI API 재시도/타임아웃 에러 처리 강화
- 구조화된 이벤트 타입(stream_start, message_chunk, stream_complete, stream_error) - 메시지 진행률, 청크 인덱스, 문자/단어 수 등 상세 정보 제공 - 에러 유형별 분류 및 재시도 가능 여부 판단 로직 추가
- WebClient baseUrl을 https://api.openai.com/v1로 설정 - URI 경로를 /chat/completions로 분리하여 중복 제거
- OpenAI 직접 JSON 형식을 처리하도록 파싱 로직 변경 - ERR_INCOMPLETE_CHUNKED_ENCODING 오류 해결
…chat [FEATURE] OpenAI GPT-4o-mini 기반 실시간 스트리밍 채팅 시스템 구현
qkrcodus
approved these changes
Aug 8, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🔗 관련 이슈
연관된 이슈 번호를 적어주세요. (예: #123)
#77, #75, #81, #83, #84, #85, #88, #91, #92, #93, #94, #95, #96, #97, #98
📌 PR 요약
OpenAI 스트리밍 채팅 기능 ([Feature] OpenAI 채팅 API에 스트리밍 방식 적용 #91, [FEATURE] OpenAI GPT-4o-mini 기반 실시간 스트리밍 채팅 시스템 구현 #97)
OpenAI 스트리밍 API용 WebClient 설정
SSE 연결 관리 시스템 구현
iOS 호환 SSE 스트리밍 채팅 엔드포인트
대화 히스토리 처리 로직 추가
보안 강화 및 CORS 설정
일기 기능 ([Feature] 일기 cru 구현 - 수정 사항 반영 #83, Feat/#83 diary cru api #84)
Diary 엔티티와 LogBaseInfo 연관관계 수정
DiaryRepository 조회 메서드 추가
일기 권한 및 존재 여부 검증 로직 개선
알림 기능 ([Feature] 알림 isRead 현황 업데이트 #77, feat/#77- 알림 열람 true로 변경 #78)
알림 열람 상태 업데이트
알림 응답에 ID 추가
본인 알림 확인 로직 강화
마이페이지 기능 ([Feature] 마이페이지 api 작성 #75, feat/#75: 자격증 이미지 등록 및 레벨 패치 #76)
자격증 이미지 등록 기능
레벨 패치 기능
이미지 업로드 API 통합 관리
버디펫 기능 ([Feature] 아바타 관련 수정 #81, Feat/#81 change bubble enum buddy enum #82)
버디펫 크기 및 각도 enum 추가
PATCH → PUT 방식 변경 및 upsert 로직
로그북 기능 ([Feature] 기존 로그북 검증하는 로직 구현 #85, Feat/#85 기존 로그북 검증 로직 추가 #88, [Fix] PUT request DTO수정 #94, fix/#94:로그북 put request dto 수정 #96)
로그베이스 존재 여부 검증 로직
로그 PUT request DTO 수정
트랜잭션 최적화
도감 기능 ([Fix or Bug] 해양도감 조회 API - ImageService 메서드 시그니처 변경에 따른 오류 수정 #92, fix: ImageService 변경에 따른 호출부 코드 수정 #93, [Bug] EncyclopediaCardService 종류별 도감 카드 조회 수정 #95, fix: 도감 카드 목록 조회 시 이미지가 누락되는 문제 해결 #98)
도감 카드 목록 조회 API 개선
이미지 누락 문제 해결
ImageService 시그니처 변경 대응