Skip to content

Conversation

@jueunk617
Copy link
Collaborator

📌 개요

온라인 스터디 카페 플랫폼의 실시간 채팅 시스템을 구현했습니다. WebSocket + STOMP 기반으로 방 채팅 기능과 메시지 관리 API를 작성했습니다. 패키지 구조 변경사항을 적용하고 기능의 안정성을 확보하기 위해 우선적으로 PR을 진행합니다.

🔨 작업 내용

핵심 기능 구현

  • 실시간 채팅 시스템: WebSocket + STOMP 기반 방 채팅 기능 구현
  • 메시지 저장: 채팅 메시지 DB 저장 및 이력 관리
  • 채팅 기록 조회: 페이징 기반 채팅 이력 조회 API
  • 메시지 삭제: 권한 검증을 통한 메시지 삭제 기능

패키지 구조 개선

  • WebSocket 기술적 관심사를 global.websocket으로 분리
  • 채팅 비즈니스 로직을 domain.chat으로 응집
  • 도메인별 책임 분리로 유지보수성 향상

의존성 및 설정

  • QueryDSL Jakarta 버전 추가
  • WebSocket 디버그 로깅 설정
  • CORS 설정 개선

🔗 관련 이슈

Closes #37


📝 참고 사항

테스트 완료

  • Postman 테스트: REST API (채팅 기록 조회, 메시지 삭제) 정상 동작 확인
  • SockJS 브라우저 테스트: 실시간 메시지 송수신 및 DB 저장 검증 완료
  • DB 연동: 메시지 저장 및 페이징 조회 동작 검증

현재 상태

  • 보안: 메시지 삭제 시 작성자 권한 검증 적용 (임시 하드코딩)
  • JWT 인증: TODO로 표시하여 추후 연동 예정

향후 작업 예정

  • 기본 인증/권한 연동: JWT 토큰 기반 사용자 인증 구현
  • 테스트 코드 추가: Unit/Integration 테스트 작성
  • Swagger 어노테이션 추가: API 문서화 개선
  • Repository QueryDSL 적용: 복잡한 쿼리 최적화

✅ 체크리스트

  • 기능 동작 확인
  • 테스트 코드 작성
  • 문서/주석 추가 및 최신화

- WebSocket + STOMP 기반 실시간 메시지 전송
- 페이징 기반 채팅 이력 조회 API
- 방 채팅 메시지 삭제 기능
…roject/WEB6_8_Catfe_BE into Feat/37

# Conflicts:
#	build.gradle.kts
#	src/main/resources/application.yml
…roject/WEB6_8_Catfe_BE into Feat/37

# Conflicts:
#	build.gradle.kts
#	src/main/resources/application-dev.yml
@github-actions github-actions bot changed the title Feat: 실시간 스터디룸 채팅 기능 구현 Feat: 실시간 스터디룸 채팅 기능 구현 (#37) Sep 23, 2025
@jueunk617 jueunk617 merged commit 62d21ea into dev Sep 23, 2025
2 checks passed
@github-actions github-actions bot deleted the Feat/37 branch September 23, 2025 07:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants