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

v1 채팅 기능 #12

Open
wants to merge 15 commits into
base: develop
Choose a base branch
from
Open

v1 채팅 기능 #12

wants to merge 15 commits into from

Conversation

coke98
Copy link

@coke98 coke98 commented Sep 7, 2023

🌟변경사항

  • 채팅, 웹소켓 관련 클래스 작업
  • Stomp -> WebSocket
  • 매칭 완료 알림용 서버간 비동기 통신 기능(RabbitMQ)추가

🗂디렉토리 구조

  • Chat
  • FCM
  • Websocket
  • Global(JwtUtil, RabbitMQ)
  • DB

웹소켓과 채팅 디렉토리를 따로 나누었으나, 비즈니스 레이어는 ChatBusiness 클래스에서 통합하여 관리하도록 두었습니다.

  • WebsocketConfig: url별 핸들러 등록
  • WebsocketHandler: 핸들러 로직 설정(ChatBusiness 주입 및 활용)
  • ChatBusiness: 웹소켓 핸들러 및 컨트롤러 클래스에서 사용할 비즈니스 로직 통합 관리

🧐코드리뷰 시 참고해서 봐주세요~!

비즈니스 로직을 중심으로 먼저 봐주시고, 다음 작업 후 새로운 PR로 올릴 예정입니다.

  • Dao 클래스: 몽고 템플릿 -> 몽고 레포지토리, 불필요한 코드 수정
  • 통합, 단위 테스트 코드 추가

coke98 and others added 13 commits September 6, 2023 19:12
- 불필요하거나 새로 만들 클래스 삭제
- 채팅 도메인(REST API, Websocket)에서 사용되는 컨버터 추가
- 웹소켓을 위한 ObjectMapper 빈설정 추가
- 서비스 클래스 및 메서드 생성
- 토큰 엔티티 및 레포지토리 생성
- 컨버터 클래스 추가

Co-authored-by: JeongeunChoi <[email protected]>
- 의존성 추가
- 매칭 완료 메시지를 받을 수 있는 컨슈머 클래스 생성
- 토큰 생성 관련 메서드 삭제
- 범위에 맞게 RoomIds를 추출하기위해 stream.range 수정

Co-authored-by: mjj111 <이메일 주소 필요>
@coke98 coke98 self-assigned this Sep 7, 2023
- ChatBusiness 클래스를 주입받아 메서드를 사용하던 방식에서 직접 내부 로직을 구현하는 방식으로 수정
- 각 메서드에 로그 적용
- 아이디 값 관리를 위해 AutoIncrement 관련 코드 재적용
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant