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

알림이력 참고 사항 #191

Open
sasca37 opened this issue Jul 23, 2024 · 1 comment
Open

알림이력 참고 사항 #191

sasca37 opened this issue Jul 23, 2024 · 1 comment
Assignees
Labels
📃 Docs 문서 작업 및 수정

Comments

@sasca37
Copy link
Member

sasca37 commented Jul 23, 2024

알림이력

  • 알림별 noti_link 에 대한 테이블을 정의해두고, 해당 테이블 정보를 바탕으로 프론트가 읽어서 알림 이동 시 필요한 화면과 API를 판단
  • 알림 메시지에 대한 내용은 백엔드가 지정하고, 프론트는 해당 내용을 그대로 반환

API FLOW

커뮤니티서비스에서 스토리 댓글 알림을 카프카 전송하는 경우 FLOW

  1. noti_link 테이블에 linkCode 정보 입력 - (Common 패키지 내 NotiCode Enum 클래스에 사용할 코드 커밋 - 서버 기동 시 init)
image

Image

예시

linkCode: STORY_COMMENT
title : 스토리 댓글 알림 
description : 게시글 번호, 댓글 번호를 파이프 기준으로 사용
pathVariableTF : true
pathVariable : ${storyId}|${commentId}
  1. 카프카 형식에 맞추어 토픽에 Producing

topic : memberservice.task.noti-{profile}

{
  "targetUserId": 1,
  "screenName": "STORY",
  "type": "USER",
  "sourceUserId": 5,
  "title": "보리보리님이 스토리에 댓글을 달았어요.", 
  "content": "핀 정보좀 알려주세요~~",
  "linkCode": "STORY_COMMENT",
  "linkData": "10|20",
  "createdAt": "2024-06-15T06:18:44.619Z"
}

producing 예시

Image

[필수] 수신 유저 아이디 - targetUserId
[필수] 화면 스크린명 (USER, BUDDY, STORY) - screenName
[필수] 알림 구분 ( USER, SYSTEM ) - type
[선택] 알림 송신 유저 아이디 ( 보낸 유형이 USER인 경우 필수) - sourceUserId
[필수] 알림 제목 (송신 서비스에서 각자 정의한 내용) - title
[선택] 알림 내용 (송신 서비스에서 각자 정의한 내용) - content
[필수] 링크 코드값 ( MEMBER_XXX_XXX 등과 같은 코드 값 ) - linkCode
[선택] 링크 코드 데이터 (링크 정보에 사용될 데이터 정보) - linkData
[필수] 생성시간

  1. 멤버서비스 내에서 토픽 Consume 후 비즈니스 로직 수행

  2. 클라이언트에서 알림이력 조회 시 반환 API

{
"noti_id" : 5,
"screenName" : "STORY", 
"type": USER
"sourceUserId" 5,
"sourceUserProfileImgUrl":"https://~~~",
"title" : "보리보리님이 스토리에 댓글을 달았어요.",
"content": "핀 정보좀 알려주세요~~", 
"linkCode" : "STORY_COMMENT",
"linkData": "10|20",
"createAt": "2024-06-15T06:18:44.619Z",
"readTF" : false
}

[ 알림이력 API 응답 값 예시] GET /api/v1/noti/{user_id}

알림 아이디 시퀀스
화면명 (유저, 버디매칭, 스토리)
송신 주체 ( USER, SYSTEM )
송신 유저 아이디 시퀀스 ( 보낸 유형이 USER인 경우)
송신 프로필 이미지 ( 보낸 유형이 USER인 경우 - 유저 프로필, 시스템인 경우 시스템 스태틱 리소스 이미지)
알림 제목 (송신 서비스에서 각자 정의한 내용)
알림 내용 (송신 서비스에서 각자 정의한 내용)
링크 코드값
생성 시간
알림 읽음 여부 (TF)

@sasca37
Copy link
Member Author

sasca37 commented Jul 23, 2024

@RedJunHee @0-ki

@sasca37 sasca37 added the 📃 Docs 문서 작업 및 수정 label Jul 23, 2024
@sasca37 sasca37 self-assigned this Jul 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
📃 Docs 문서 작업 및 수정
Projects
None yet
Development

No branches or pull requests

1 participant