Skip to content

Conversation

@jueunk617
Copy link
Collaborator

@jueunk617 jueunk617 commented Oct 2, 2025

📌 개요

알림 시스템의 기본 인프라를 구축했습니다. 알림 생성, 조회, 읽음 처리 기능과 WebSocket을 통한 실시간 알림 전송 기능을 구현했습니다.

🔨 작업 내용

엔티티 및 Repository 구현

  • Notification: 알림 메인 엔티티 (4가지 타입: PERSONAL, ROOM, COMMUNITY, SYSTEM)
  • NotificationRead: 유저별 알림 읽음 상태 관리 (전체 알림도 유저별 읽음 처리 가능)
  • NotificationSetting: 사용자별 알림 설정 (향후 ON/OFF 기능용)
  • 각 엔티티별 Repository 및 커스텀 쿼리 메서드 구현

Service 계층 구현

  • NotificationService: 알림 생성, 조회, 읽음 처리 비즈니스 로직
    • 4가지 타입별 알림 생성 메서드
    • 읽지 않은 알림 필터링 및 카운트
    • 단건/일괄 읽음 처리
  • NotificationWebSocketService: WebSocket을 통한 실시간 알림 전송
    • 개인 알림: /topic/user/{userId}/notifications
    • 시스템 알림: /topic/notifications/system
    • 스터디룸 알림: /topic/room/{roomId}/notifications

Controller 및 API 구현

  • POST /api/notifications: 알림 전송 (타입별 분기 처리)
  • GET /api/notifications: 알림 목록 조회 (페이징)
  • PUT /api/notifications/{id}/read: 단건 읽음 처리
  • PUT /api/notifications/read-all: 전체 알림 일괄 읽음 처리

🔗 관련 이슈

Closes #141

📝 참고 사항

향후 작업 예정

  • 테스트 코드 작성
  • NotificationSetting CRUD API 구현 (알림 ON/OFF 설정)
  • 실제 알림 발생 지점 연동 (스터디룸 입장, 목표 달성, 댓글 등)

✅ 체크리스트

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

@github-actions github-actions bot changed the title Feat: 알림 시스템 기본 인프라 구축 Feat: 알림 시스템 기본 인프라 구축 (#141) Oct 2, 2025
@jueunk617 jueunk617 merged commit 61703e2 into dev Oct 2, 2025
2 checks passed
@github-actions github-actions bot deleted the Feat/141 branch October 2, 2025 05:24
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