포트폴리오로

Matching SSAFY

2025.07 — 2025.08

팀·실시간 채팅

6인 팀 · 백엔드 팀·채팅 도메인

프로젝트 개요

SSAFY 교육생의 프로젝트 팀 구성을 지원하는 서비스입니다. 팀 생성·조회·수정·삭제와 초대·참여 요청·거절·탈퇴, 팀 상태 잠금 기능을 개발했습니다. 팀 채팅과 1:1 채팅도 담당했습니다.

주요 기능

  • 팀 탐색과 팀원 초대·참여 요청
  • 팀 구성 상태 관리
  • 팀 채팅과 1:1 채팅

담당 범위

  • 팀 관리와 초대·참여·거절·탈퇴 처리
  • 팀 상태 잠금
  • 실시간 메시지 송수신과 채팅방·기록 조회 API
  • 프론트엔드 채팅 연동과 팀·채팅 테스트 작성
  • Spring Boot
  • WebSocket
  • STOMP

아키텍처

팀·채팅 API와 실시간 메시지

담당 · 청록색 테두리와 역할 레이블

  • React 화면과 Spring Boot 백엔드는 팀·채팅방·기록 조회 API로 연결됩니다.
  • 같은 화면과 백엔드 사이에서 WebSocket·STOMP로 실시간 메시지를 송수신합니다.
  • 백엔드의 팀·채팅과 프론트엔드 채팅 연동을 담당했습니다. 두 경로는 같은 애플리케이션 사이의 서로 다른 요청 흐름입니다.

React 화면과 Spring Boot 백엔드를 연결했습니다. 팀 관리와 채팅방·메시지 기록 조회는 API로 제공하고, 실시간 메시지는 WebSocket과 STOMP로 송수신합니다.

저는 백엔드의 팀·채팅 도메인과 프론트엔드 채팅 연동을 담당했습니다. 아래 도식은 API 조회와 실시간 메시지 전달이라는 두 흐름을 구분합니다.

문제 해결

팀 구성 단계의 여러 동작 처리

구현 과제
팀 생성 이후에도 초대·참여 요청·거절·탈퇴와 팀 상태 잠금 등 팀 구성 과정의 여러 동작을 처리해야 했습니다.
구현
팀 관리 API와 초대·참여·거절·탈퇴 처리를 구현했습니다. 팀장이 팀에서 나갈 때의 팀 처리 로직도 수정했습니다.

채팅 연결과 1:1 채팅 상태 연동

문제
프론트엔드 채팅 화면을 연결하는 과정에서 WebSocket 연결·CORS 설정 오류와 1:1 채팅 상태 처리 문제가 있었습니다.
해결
WebSocket 연결과 CORS 설정을 수정하고 1:1 채팅 상태 처리를 프론트엔드와 맞췄습니다. 팀·1:1 메시지 송수신과 채팅방 생성·메시지 기록 조회 API를 연동했습니다.

결과

팀·채팅 기능 구현과 연동

팀 관리 API, 팀·1:1 실시간 채팅과 채팅방·메시지 기록 조회를 구현했습니다. 프론트엔드 연동 과정에서 연결과 채팅 상태 처리를 수정했습니다.

단위·통합 테스트 작성

팀 서비스·컨트롤러와 채팅방·메시지·멤버 서비스의 단위 테스트 및 통합 테스트를 작성했습니다.

검증 범위

이번 기록은 구현·연동 수정과 테스트 작성 범위입니다. 현재 전체 테스트 통과나 동시 접속 성능을 측정한 결과는 포함하지 않습니다.