sparta-tigers / sparta-tigers/backend
[FEATURE] 교환 1:1 채팅 읽음 처리
Open
Nobody has claimed this yet.
feature
- Dominant language
- Java
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
🧩 작업 목적
- 교환 내 1:1 채팅시 메세지별 읽음 여부를 확인할 수 있게 한다
✅ 할 일 목록
- 구현 방식 정하기, 설계하기
- dto, model 에 필요한 컬럼 추가
- 입장, 퇴장 이벤트 감지 리스너 추가
- Redis 재발행
📌 참고 사항 (선택)
0️⃣ 배경 작업
DirectMessage에 isRead 라는 상태 컬럼을 추가- 채팅 전송시 isRead = false 상태로 저장 / 발행
1️⃣ 한쪽만 접속중인 경우 미접속자에겐 안 읽은 메세지가 쌓임
getDirectRoomsdirect룸 목록 조회시, 응답에unreadCount를 함께 반환- 수신자가 해당 룸에서 채팅내역 조회시 전부 읽음 처리
2️⃣ 양쪽다 접속중인 경우
- 메세지 발행 직후 수신자가 접속중인지 조회
- 수신자가 온라인인 경우 전부 읽음 처리 후 읽음 상태를 추가해 redis 재발행
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the DirectMessage model and the getDirectRooms entry point, then trace the chat history lookup and Redis publish flow. Confirm how connection and disconnection listeners identify online recipients. Done means unreadCount is returned, messages are marked read when history is viewed, and online delivery republishes the read status.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, redis
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100