배달 주문 매칭 서비스
개요
개발기간 : 2021.03 ~ 2021.11
인원구성 : 개발자 2명
사용기술 : SpringBoot, React, Firebase, Git
기능 : 현재 위치 서비스를 기준으로 게시글 작성 및 지도에 표시, 매칭되는 사용자랑 실시간 체팅, 체팅이 왔을 때 알림 서비스
수행업무
- 커뮤니티 CRUD기능을 수행하는 Spring기반의 API 개발
- Firebase Authentication을 이용한 로그인 상태 관리 및 자동로그인 기능 개발
- Realtime Database를 이용한 실시간 채팅 구현
- SHA-256 해시 알고리즘을 활용한 비밀번호 암호화
- Use Case Diagram, Class Diagram을 통한 요구사항 시각화
회고록
본 프로젝트를 수행하며, 초기 구상한 Git 브랜치 전략과 Commit Message Convention을 지키며 개발을 진행하였습니다. 이를 통해 팀원이 개발한 내용과 충돌되는 상황을 최소화할 수 있었고 개발 진척도 공유가 원활히 이루어질 수 있었습니다.
채팅기능을 Firebase Realtime Database를 활용하여 개발하였습니다. Socket처럼 room을 만들어 통신하는 것이 아닌 Database의 변화를 감지하는 모니터링 방식으로 수행하였고 이를 통해 사용자는 별도의 reload과정 없이 실시간으로 채팅을 주고받을 수 있었습니다.
추가적으로, Database 모니터링 기능은 Spring을 통해 개발하였습니다. Spring의 이해도를 높이기 위해 이런 구조를 채택하였지만 불필요한 네트워크 통신을 줄이기 위해 React에서 해당 기능을 추가하였으면 어떨까 하는 아쉬움이 남았습니다.