Skip to content

[Feat] 계약 전 채팅 controller #3

@leeedongjaee

Description

@leeedongjaee

📄 이슈 요약

계약 전 채팅 controller 로직 구현

✅ 체크리스트

  • 채팅방 생성 로직 구현
  • 채팅 목록 조회 로직 (임대인, 임차인 구분) 구현
  • 채팅 보내기 로직 구현
  • 채팅 받아오는 로직 구현
  • 파일 업로드 로직 구현

📝 상세 설명

  • 사용자는 매물 상세 페이지에서 메시지를 보냄으로써 채팅방을 생성할 수 있습니다.
  • 이때 이미 동일한 임대인-임차인-매물 조합의 채팅방이 존재하면 기존 방을 반환합니다.
  • 채팅 목록 조회 시, 로그인한 사용자의 역할(임대인/임차인)에 따라 자신이 참여 중인 채팅방 목록을 조회할 수 있어야 하며, 각 채팅방의 상대방 정보, 최근 메시지, 안 읽은 메시지 수 등을 함께 반환해야 합니다.
  • 채팅 메시지는 WebSocket 또는 REST API를 통해 송신할 수 있으며, 메시지 전송 시 실시간으로 상대방에게 전달되도록 구성합니다.
  • 채팅 내역 조회 시, 해당 채팅방 ID를 기준으로 MongoDB에서 메시지를 시간순으로 정렬하여 가져오며, 메시지를 읽으면 읽음 처리(isRead = true)도 함께 수행합니다.
  • 텍스트 외에도 이미지, 동영상, 일반 파일 업로드가 가능해야 하며, 파일 업로드 시 파일 유형에 따라 메시지 타입(TEXT, IMAGE, VIDEO, FILE)이 구분되어 저장됩니다.
  • 메시지 저장은 MongoDB에 이루어지며, 채팅방 ID 기준으로 컬렉션이 분리되어 저장됩니다. 메타 정보는 MySQL의 chatroom 테이블에서 관리합니다.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions