Skip to content

[MESP-271] [Epic] 실시간 배지 알림 시스템 구축 #499

Description

@DDINGJOO

목표

사용자가 학습 활동 중 주요 이벤트 발생 시 SSE(Server-Sent Events)를 통해 실시간으로 알림을 받을 수 있는 시스템 구축

배경

  • 현재 배지 획득, 테스트 완료 등 이벤트 발생 시 사용자가 직접 새로고침해야 확인 가능
  • 실시간 피드백으로 사용자 경험 및 학습 동기 개선 필요

기술 스택

  • AWS Lambda Function URL (Response Streaming)
  • AWS SNS/SQS
  • SSE (Server-Sent Events)

범위

  • 백엔드: 알림 발행/구독 인프라
  • 프론트엔드: SSE 클라이언트 연동

하위 Stories

인프라 (필수)

알림 이벤트

알림 타입 정리

Type 트리거 설명
BADGE_EARNED 배지 조건 달성 🏆 배지 획득
DAILY_COMPLETE 일일 목표 완료 ✅ 오늘 학습 완료
TEST_COMPLETE 테스트 제출 📝 테스트 결과
NEWS_QUIZ_COMPLETE 뉴스 퀴즈 제출 📰 퀴즈 결과
GAME_END 게임 종료 🎮 게임 결과
GAME_STREAK 연속 정답 🔥 N연속 정답!
OPIC_COMPLETE OPIc 세션 완료 🎤 피드백 도착
STREAK_REMINDER 스케줄러 (21시) ⏰ 학습 리마인더

아키텍처

```
┌─────────────────────────────────────────────────────────┐
│ Event Sources │
├─────────────┬─────────────┬─────────────┬───────────────┤
│ Badge │ Daily │ Test/ │ Game │
│ Service │ Study │ Quiz │ Service │
└──────┬──────┴──────┬──────┴──────┬──────┴───────┬───────┘
│ │ │ │
└─────────────┴─────────────┴──────────────┘


┌─────────────────┐
│ SNS Topic │
│ (Notification) │
└────────┬────────┘


┌─────────────────┐
│ SQS Queue │
│ (per message) │
└────────┬────────┘


┌─────────────┐ ┌─────────────────┐
│ Frontend │◀───│ Lambda │
│ (Browser) │SSE │ (Streaming) │
└─────────────┘ └─────────────────┘
```

성공 지표

  • 이벤트 발생 후 3초 이내 알림 수신
  • 알림 전달 성공률 99% 이상
  • 사용자 재방문율 10% 향상

예상 총 작업량

18 Story Points (약 2주)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestepicEpic - large feature

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions