11주차 주간 보고서

지난주 계획했던 목표에 맞게 11주차 개발을 진행하였습니다. 심부름 매칭이 성사된 이후 의뢰자와 헬퍼가 수행 과정에서 실시간으로 원활하게 소통하고 상세 내용을 조율할 수 있도록, Firebase Realtime Database를 활용한 1:1 실시간 채팅 시스템 및 동기화 서버 환경을 프로젝트 내에 새롭게 구축하였습니다.

이번주 구현한 화면들 입니다

  • Firebase 연동: 실시간 데이터 처리를 위해 Firebase Realtime Database 환경을 생성하고 앱 내 연동
  • 채팅방 자동 생성 로직: 헬퍼가 심부름을 수락(매칭 완료)하면, DB의 회원 정보와 매칭 정보를 바탕으로 Firebase 상에 전용 1:1 채팅방이 자동 생성되도록 구현
  • 채팅 화면: 내 메시지와 상대방 메시지가 양쪽으로 구분되는 말풍선을 적용하여 직관적인 채팅 환경 제공

Firebase Realtime Database에 저장되는 실시간 채팅방 상세 JSON 데이터 구조입니다

동시에 meta 노드에는 해당 채팅방의 의뢰 정보 및 상대방의 닉네임 정보가 저장되어, 앱 화면에서 실시간으로 채팅 목록과 닉네임을 조회할 때 데이터 병목 현상 없이 즉각 로딩될 수 있도록 설계되었습니다

실시간 메시지 발송 시 각 메시지의 송신자 정보, 전송 내용, 타임스탬프가 messages 노드 아래에 순차적으로 누적됩니다

간단한 구현 동영상입니다

다음주 목표

  • 상태 변경 로직 구현: 헬퍼의 ‘심부름 수행 완료’ 처리 및 고객의 ‘최종 완료 승인(확정)’을 통한 심부름 상태값 변경 기능 구현.
  • 보상 지급 연동 : 사용자의 계좌 정보가 있는 DB를 화면에 연동 / 고객이 완료를 승인하면, 사전에 등록된 보상 금액 및 포인트가 고객의 계좌(잔액)에서 차감되고 헬퍼에게 지급되는 기능 구현
  • 완료 내역 및 UI 갱신: 심부름이 최종 완료되면 채팅방을 비활성화(또는 상태 변경)하고, 마이페이지의 ‘완료된 심부름 내역’과 ‘누적 활동 점수’에 실시간으로 반영되도록 연동