-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Feature새로운 기능새로운 기능
Description
배경 및 필요성
우선 이미지는 제외한 텍스트로만 할까요..? 우선 WebSocket은 AbstractWebSocketHandler 넣어서 이미지와 텍스트 모두 처리할수있게끔만 했습니다.
이미 구현된 사항
- WebSocket 연결 설정 (SocketConfig)
- 기본 채팅 메시지 핸들러 (ChatWebSocketHandler)
서버 남은 작업
1. 의존성 추가
- Jackson 의존성 확인 (객체 <-> JSON 변환용)
2. 데이터 모델 구현
- ChatMessage Entity 클래스 생성
- 메시지 ID, 발신자, 내용, 타임스탬프, 채팅방 ID 등 필드 추가
- ChatRoom Entity 클래스 생성
3. 데이터 접근 계층 구현
- ChatMessageRepository 인터페이스 생성
- 필요한 쿼리 메소드 추가 (채팅 이력 조회 등)
4. 서비스 계층 구현
- ChatService 클래스 생성
- 메시지 저장, 조회 기능 구현
5. REST API 컨트롤러 구현
- ChatController 클래스 생성
- 상대방과 채팅 시작하기 엔드포인트 추가 (/chat/{user_id})
- 채팅 세션 상태 변경, 읽음, 전송 완료 등등 PATCH
- 나의 채팅 이력 조회 엔드포인트 추가 (/chat/rooms})
- 최근 메시지 조회 엔드포인트 추가 (/chat/recent/{roomId})
채팅 이력 조회: 사용자가 특정 채팅방에 들어갔을 때, 처음에는 최근 50개의 메시지를 보여주고, 사용자가 스크롤을 올리면 그 이전 메시지를 추가로 가져옴
최근 메시지 조회: 메인 화면에 채팅방 목록을 표시할 때, 각 채팅방마다 가장 최근 메시지 1개만 보여줌 (미리보기)
6. 추가 기능 구현
- 메시지 읽음 확인 기능
- 사용자 상태 관리 (온라인/오프라인)
- 파일/이미지 첨부 기능
- 알림 기능 (수진양에게..)
Metadata
Metadata
Assignees
Labels
Feature새로운 기능새로운 기능