업무용 서비스
개발·운영 고도화웹·모바일·PC를 연결한 업무용 메신저 구축 사례.
기존 업무 방식과 데이터를 분석해 사용자용 메신저, 관리자 시스템, 실시간 통신, 파일·알림 처리와 ERP 연동을 역할별로 분리된 운영 구조로 설계·구현했습니다.
고객사명과 내부 화면은 공개하지 않고, 직접 수행한 개발 범위만 정리했습니다.
구축 범위
대화부터 관리·알림·외부 연동까지 하나의 서비스로 구축했습니다.
대화
1:1·그룹 대화, 초대·퇴장·방장 위임, 읽음·안읽음, 공지와 댓글
파일·미디어
이미지·파일·동영상·이모티콘 전송, URL 미리보기와 권한 기반 다운로드·스트리밍
사용자·조직
사원·조직 조회, 친구·연락처·차단 관리와 역할별 접근 제어
운영
가입 승인·탈퇴 요청, 조직도·대화방·공지·이모티콘·약관을 관리하는 운영 화면
알림
브라우저 Web Push, 모바일 푸시, PC 알림과 미확인 수 연계
연동
기존 사용자 데이터의 검증 이관과 ERP 사원·조직·대화방 API 연동
개발 기준
실시간 전달과 데이터 정합성, 운영 안정성을 함께 설계했습니다.
구현 여부만 확인하지 않고 실제 사용 중 생길 수 있는 중복, 권한, 장애와 성능 문제를 검증합니다.
메시지와 데이터가 어긋나지 않게
저장이 완료된 뒤 실시간으로 전달하고, 재연결과 중복 요청에서도 같은 메시지가 여러 번 처리되지 않도록 경계를 설계했습니다.
파일은 권한을 확인한 뒤 전달
파일과 미디어를 공개 주소로 두지 않고 사용자의 대화방 참여 권한을 확인한 뒤 미리보기와 다운로드·스트리밍을 제공합니다.
운영자가 직접 관리할 수 있게
가입 승인과 탈퇴 요청, 조직도, 대화방, 공지, 이모티콘과 약관을 운영 화면에서 직접 관리하도록 구성했습니다.
측정한 뒤 병목을 개선
부하 시험과 운영 데이터베이스 지표로 병목을 확인하고, 결과 동일성을 검증하며 쿼리와 처리 흐름을 개선합니다.
구현 기반
기능별 역할을 나눈 서비스 구조
사용자 화면, API, 실시간 통신, 데이터 처리와 파일 저장을 각각의 역할에 맞춰 구성했습니다.
- 사용자 웹·관리자
- Next.js 기반 반응형 웹
- API·실시간
- Fastify API와 Socket.IO 실시간 통신
- 데이터·작업 처리
- Oracle, Redis와 백그라운드 작업
- 파일·미디어
- 비공개 객체 저장소, 스트리밍과 썸네일 처리
- 모바일·PC
- Flutter WebView와 Electron 연계
- 배포
- Docker 기반 서비스 분리와 운영 점검
웹서비스 개발