[리빌더] 실시간 1:1 채팅 상담 (Node.js 웹소켓 기반)
웹호스팅 환경에서도 동작 가능한 구조 Node.js 실시간 채팅 상담 시스템
실시간 1:1 상담 시스템 (WebSocket 기반) 은 웹호스팅 환경에서도 동작 가능한 구조로 설계된 Node.js WebSocket 서버 + 웹호스팅 통합형 실시간 상담 시스템 입니다.
본 기능은 부가기능 또는 멤버십 전용기능으로 배포될 예정입니다.
현재 최종테스트까지 완료 되었으며, 리빌더 2.2.6 버전 출시에 맞추어 공개될 예정입니다.
실무에 꼭 필요한 기능들만을 엄선하여 지속 개발/공개 하도록 하겠습니다.
시연영상 : https://youtu.be/qB4O08wA6Wg?si=p23MsKd8V567Ma9E
WebSocket 기반 초저지연 실시간 통신
웹호스팅에서도 실시간 상담 구현 가능
Node 서버 분리 구조로 성능 최적화
SaaS 종속 없는 설치형 시스템
빌더 및 그누보드 에 설치형 으로 즉시 적용 가능
관리자 / 사용자 / 비회원 모두 지원
Railway 포함 다양한 환경 배포 가능
웹과 채팅 서버가 분리된 구조로 설계되어 안정성과 확장성 확보
주요 기능
-
실시간 WebSocket 채팅
-
초저지연 양방향 통신 (Polling 방식 아님)
-
사용자 ↔ 관리자 1:1 상담
-
자동 재연결 및 연결 안정성 처리
-
다중 접속 및 세션 관리
-
상담 상태 자동 관리
-
대기 → 연결 → 진행 → 종료 상태 관리
-
상담 요청 / 승인 또는 즉시 시작 구조
-
상담 흐름 자동 제어
-
관리자 / 사용자 분리 구조
-
관리자 전용 상담 인터페이스
-
사용자 UI 완전 분리
-
관리자 권한 기반 제어
-
다중관리자(담당자) 설정지원
-
파일 / 이미지 / 동영상 전송 (설정가능)
-
이미지, 영상, 문서 등 파일 업로드 지원
-
확장자 화이트리스트 기반 보안
-
위험 파일 업로드 차단
-
채팅 데이터 저장 및 관리
-
MySQL 기반 메시지 저장
-
읽음 처리 / 삭제 처리
-
상담 히스토리 조회 및 캐싱
-
운영시간 및 자동응답 (설정가능)
-
상담 가능 시간 설정
-
비영업시간 자동 안내 메시지
-
부재중 상태 대응
-
비회원 상담 지원 (설정가능)
-
로그인 없이 상담 가능
-
임시 사용자 프로파일 관리
-
최소 입력으로 상담 시작
UX 최적화
- 실시간 알림 사운드
- 미읽음 카운트 표시
- 입력중 상태 표시
- 브라우저 타이틀 알림
플로팅 UI 위젯
- 사이트 어디든 삽입 가능한 위젯 구조
- 반응형 UI 지원
- 사용자 경험 최적화
설정 관리 시스템
- 테마 / 메시지 / 운영시간 설정
- 파일 제한 및 정책 관리
- API 기반 설정 변경
- 관리자모드 > 1:1 상담관리 및 대화 검색 등 지원예정
기술 구조
-
Node.js (WebSocket 서버)
-
Express
-
MySQL
-
Vanilla JavaScript
-
WebSocket 클라이언트 구현
PHP 연동
- 그누보드 회원 시스템 연동
- 파일 업로드 / 삭제 처리
- 설정 및 프로파일 API 제공
배포 및 운영
-
Railway / VPS / 클라우드 / 자체 서버 모두 지원
-
Node.js 실행 환경이면 어디든 배포 가능 (PHP 웹호스팅과 별도로 운영)
-
Railway 전용이 아닌, Node 서버 기반 독립 구조
-
별도의 Node 서버만 있으면 직접 운영 가능