Skip to content
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

✨ [STMT-300] FCM 앱 푸시 알림 전송 및 구독 기능 구현 #156

Merged
merged 45 commits into from
Oct 27, 2024

Conversation

05AM
Copy link
Member

@05AM 05AM commented Oct 26, 2024

💁 해결 하려는 문제를 적어주세요

  • 스터디 생성 시, 스터디의 공지 알림 토픽을 초기화합니다.
  • 스터디 참여 시, 스터디의 알림 토픽을 구독합니다.
  • 스터디 탈퇴 시, 스터디의 알림 토픽 구독을 취소합니다.
  • 스터디 활동 공지 등록 시, 스터디원들에게 알림을 전송합니다.

🤔 어떤 방식으로 해결했는지 적어주세요

  • Google FCM 서비스의 java SDK를 의존성에 추가했습니다.
  • 스터디 관련 유스케이스에서 스터디 공지 토픽을 초기화, 구독, 취소합니다.
  • 스터디 활동 공지 생성 시 스프링 이벤트 퍼블리셔로 스터디원들에게 알림을 전송합니다.

아래는 추가된 테이블 erd입니다.

세부동작

  • 알림 토픽 초기화 시
    • TOPIC 테이블에 생성된 토픽을 저장합니다.
  • 알림 토픽 구독 시
    • TOPIC_SUBSCRIPTION 테이블에 구독 정보를 저장하고, FCM SDK로 토픽 구독 메서드를 호출합니다.
  • 공지 활동 작성 시
    • Spring Event Publisher가 StudyNoticeNotificationEvent를 발행합니다.
    • StudyNoticeNotificationHandler에서 이벤트를 받아 비동기적으로 알림을 전송합니다.

🧑‍🏫 이해를 위해 필요한 자료가 있다면 첨부해주세요

스터디 공지, 포도알 알림 등 더 많은 의미를 포함하도록 단순한 테이블 참조 유형이 아닌 토픽 유형으로 이름 변경
SubscribeTopicUseCase -> ManageSubscriptionUseCase
@05AM 05AM added the feature label Oct 26, 2024
@05AM 05AM self-assigned this Oct 26, 2024
@05AM 05AM merged commit 8a928e7 into dev Oct 27, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant