-
Notifications
You must be signed in to change notification settings - Fork 0
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
[BE] FEAT: 채팅 서버 - WebSocket 붙이기 #174 #181
Conversation
- topic/user/${receiverId}/notification 으로 전달
- @NoArgsConstructor 추가 - user-info로 변경
- 한 user가 connect 하면 user의 친구들에게 해당 user가 online이 되었음을 알림 - disconnect 시 offline을 알림
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
늦은 밤까지 작업하시느라 고생많으셨어요 다현님!
두 가지 건의드릴게 있습니다.ㅎㅎ
- sendMessage만 엔드포인트가 카멜케이스라 일관성있게 변경하면 좋을 것 같아요
- play-time의 JSON 값에도 playlistTime 대신 엔드포인트와 동일한 명칭이나 더 명확한 명칭으로 변경하면 좋을 것 같습니다. dto/의 파일명과 class 명도요.
바쁜 시점에서 넘어갈 수도 있을 부분이지만, 이런 부분들이 가독성, 유지보수성, 협업 효율성에 직결되는 부분이라 말씀드려요!
고생하셨습니다!! 문서화가 잘 되어 있어서 확인하기 편했습니다 저도 네이밍 관련해서 말씀드리자면 {"roomId":1,"userInfo":{"userId":9,"role":2,"nickname":"kickickkk","profileImageUrl":null}} {"roomId":1,"playlistJson":[{"url":"https://example.com/song1","order":0},{"url":"https://example.com/song2","order":1}]} |
- playlistJson에서 playlist로 변경
- playlistTime 변수를 playTime으로 변경 - endpoint send-message로 변경
수정하였습니다! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
다시 확인했습니다! 고생많으셨어요!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
확인했습니다!!👍
해당 사항 (중복 선택)
설명
✅ Kickzo 팀원들 숙지 필수!!
[pub]
[sub]
user가 받는 정보
room에서 받는 정보
🔗 관련 이슈
해결한 이슈: closed #174
📝 작업 내용
현재 userId = 4인 유저가 connect 된 상태 (4는 1,5와 친구)
roomId = 1 에 join 하고 있는 유저
현재 파일 구조 (추후 dto 쪽 리팩토링 예정)
📂 config
├── JacksonConfig
├── KafkaConsumerConfig
├── KafkaProducerConfig
└── WebSocketConfig
📂 controller
└── WebSocketController
📂 dto
├── RoomEvent
📂 room
├── ChatMessage
├── NewUserJoinEvent
├── RoleChangeEvent
├── RoomData
└── UserInfoDto
📂 playlist
├── PlaylistItem
├── PlaylistUpdateEvent
└── PlayTime
📂 user
├── ConnectionEvent
├── FriendNotification
├── InvitationData
└── UserStatusEvent
📂 enums
└── EventType
📂 event
└── WebSocketEventListener
📂 repository
└── KafkaRepository
📂 service
├── KafkaConsumerService
├── MessagingService
├── PlaylistEventHandler
├── RoomEventHandler
└── WebSocketRoomService
📸 스크린샷(optional)