Skip to content

feat: Real-time Notification System (Epic #499)#511

Merged
DDINGJOO merged 5 commits into
testfrom
develop
Jan 23, 2026
Merged

feat: Real-time Notification System (Epic #499)#511
DDINGJOO merged 5 commits into
testfrom
develop

Conversation

@DDINGJOO

Copy link
Copy Markdown
Contributor

Summary

  • 실시간 알림 시스템 구현 (SNS/SQS + Lambda Streaming SSE)
  • 스트릭 리마인더 및 게임 알림 추가
  • News/Notification 도메인 Config 클래스 리팩토링
  • Spock 테스트 추가 (128개)

Changes

Infrastructure

  • NotificationPublisher: SNS 기반 알림 발행 서비스
  • NotificationMessage: 알림 메시지 DTO (Record + Builder)
  • NotificationType: 8가지 알림 타입 enum
  • NotificationConfig: SSE 설정 상수
  • template.yaml: SNS Topic, SQS Queue, EventBridge Scheduler 추가

Features

  • 배지 획득 알림 (BADGE_EARNED)
  • 일일 학습 완료 알림 (DAILY_COMPLETE)
  • 테스트/퀴즈 결과 알림 (TEST_COMPLETE, NEWS_QUIZ_COMPLETE)
  • 게임 결과 알림 (GAME_END, GAME_STREAK)
  • 연속 학습 리마인더 (STREAK_REMINDER) - 매일 21:00 KST

Refactoring

  • NewsConfig: TTS, 페이지네이션, 퀴즈 피드백 상수 추출
  • NewsKey: DynamoDB 키 빌더 메서드 추가

Tests

  • NotificationConfigSpec, NotificationTypeSpec, NotificationMessageSpec
  • NewsConfigSpec, NewsKeySpec

Related Issues

Closes Epic #499 Stories: #500, #501, #502, #505, #506, #507, #509

Test Plan

  • 599개 전체 테스트 통과
  • Notification/News 도메인 128개 테스트 통과
  • AWS 배포 후 SSE 연동 테스트

🤖 Generated with Claude Code

…ming

- Add NotificationTopic and NotificationQueue SNS/SQS infrastructure
- Implement NotificationPublisher service for publishing notifications
- Create NotificationStreamHandler for SSE via Lambda Function URL
- Integrate badge earned notifications in BadgeService
- Add daily study completion notifications in DailyStudyCommandService
- Add test/quiz result notifications in TestCommandService and NewsQuizService
- Add SQS client to AwsClients and JsonUtil helper methods

Closes #500, #501, #502, #505, #506
…fication-system

feat: Epic #499 - Real-time Notification System
@DDINGJOO DDINGJOO merged commit 239f47f into test Jan 23, 2026
1 check passed
@github-actions github-actions Bot added backend Backend code changes layer:entity Entity/Domain layer layer:dto DTO layer layer:repository Repository/DAO layer layer:service Service layer layer:util Utility/Helper layer layer:config Configuration layer layer:test Test code labels Jan 23, 2026
hye-inA pushed a commit that referenced this pull request Jan 27, 2026
feat: Real-time Notification System (Epic #499)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend Backend code changes layer:config Configuration layer layer:dto DTO layer layer:entity Entity/Domain layer layer:repository Repository/DAO layer layer:service Service layer layer:test Test code layer:util Utility/Helper layer

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant