Skip to main content
  1. Blog/
  2. Work/

채팅 기능 개발

Elecvery Contributions - This article is part of a series.
Part : This Article

목표
#

실시간 메시지 송수신, 네트워크 불안정 상황 복원, 로컬 기록 유지까지 포함한 채팅 기능을 구현했습니다.

아키텍처 구성
#

  • ChatApi: 채팅 API wrapper
  • ChatWebSocket: 웹소켓 open/송수신/재연결 보장
  • ElecveryLoungeMessageDao: 로컬 DB CRUD
  • ChatRepository: 웹소켓 + sync API + 로컬 DB 동기화 오케스트레이션

뷰모델은 ChatRepository 중심으로만 의존하도록 구성해, 데이터 일관성과 책임 경계를 명확히 했습니다.

핵심 포인트
#

  • 네트워크 단절 시 재연결 전략 내장
  • 서버/로컬 데이터의 동기화 시점 제어
  • 실시간성과 안정성을 동시에 확보하도록 레이어 역할 분리

시퀀스 다이어그램
#

채팅 기능 시퀀스 다이어그램
Elecvery Contributions - This article is part of a series.
Part : This Article