- 실시간 채팅 기능 구현
- 2023.09 ~ 2023.10
- Spring Boot 2, STOMP, Vue 3
- WebSocket 기반으로 동작하는 STOMP를 활용하여 실시간 채팅 기능 구현
- Vuetify, Pinia 등 Vue 라이브러리 활용하여, 실시간 채팅 화면단 구현
- 메시지 브로커 활성화
- 웹소켓 연결 및 해제를 위한 prefix 등록
- 구독, 구독 취소 등을 위한 토픽 prefix 등록
- 메시지 전송을 위한 메시지 컨트롤러 prefix 등록
- 채팅방 입장시, 구독자들에게 입장 메시지를 보냄
- 채팅방 퇴장시, 구독자들에게 퇴장 메시지를 보냄
- 메시지 전송시, 구독자들에게 입력한 메시지를 보냄
- Vue Pinia를 활용하여 유저 정보 상태 관리
- 채팅방 주소로 이동
- 웹소켓 통신 연결
- 채팅방(토픽) 구독
- 사람들(구독자들)에게 입장 메시지를 보내는 메시지 컨트롤러의 API 호출
- 사람들(구독자들)에게 메시지가 전송되어, 채팅방에 입장 메시지가 출력됨
- 메세지를 적고 Enter 클릭
- 사람들(구독자들)에게 채팅 메시지를 보내는 메시지 컨트롤러의 API 호출
- 사람들(구독자들)에게 메시지가 전송되어, 채팅방에 채팅 메시지가 출력됨
- 사람들(구독자들)에게 퇴장 메시지를 보내는 메시지 컨트롤러의 API 호출
- 사람들(구독자들)에게 퇴장 메시지가 전송되어, 채팅방에 퇴장 메시지가 출력됨
- 채팅방(토픽) 구독 취소
- 웹소켓 통신 연결 종료
- Vue Pinia에서 상태 관리 하던 유저 정보 삭제