코디움랩
제품 목록
Products실시간·커뮤니케이션2026년 7월 10일

Codium Lab Chat

각자 모국어로 읽고 대화하는 실시간 다국어 채팅 — 한 줄 스크립트로 붙이는 임베드 위젯

Socket.IOReact 18VitePostgreSQL 16DeepLClaude API
#실시간채팅#실시간번역#multilingual#임베드위젯

언어의 장벽 없는 실시간 오픈 채팅. 각자 자기 모국어로 읽고 대화하는, 한 줄 <script> 로 어떤 웹페이지에도 붙일 수 있는 다국어 채팅 위젯입니다.

무엇을 하나요

  • 채널(방) 생성·참여·전환 — 방마다 대화가 분리되고, 채널별 접속 인원을 실시간 표시합니다.
  • 실시간 메시지 & 접속 현황 — 입장·퇴장 시스템 메시지, "입력 중…" 타이핑 표시, 접속자 목록.
  • 개인별 실시간 번역 — 사용자가 12개 언어(한국어 · English · 日本語 · 中文 · Español · Français · Deutsch · Tiếng Việt · ไทย · Bahasa · Русский · Português) 중 하나를 고르면, 상대 메시지가 내 언어로 번역되어 표시됩니다. 설정은 사용자별로 저장되어 같은 방을 각자 다른 언어로 이용합니다.
  • 이모지 반응(리액션) — 메시지에 이모지를 토글하면 집계가 방 전체에 실시간 반영됩니다.
  • 메시지 삭제 · 이미지 공유 — 본인 메시지만 소프트 삭제(SQL 단에서 작성자 검증), 이미지는 미리보기/라이트박스.
  • 한 줄 임베드 — 아무 웹페이지에 플로팅 채팅 버튼 + iframe 패널로 삽입, 대화 기록은 PostgreSQL 에 영구 저장.

기술 스택

영역사용 기술
BackendNode.js(ESM) · Express 4 · Socket.IO 4(WebSocket) · multer · JWT + bcryptjs
FrontendReact 18 · Vite 5 · Tailwind 3 · react-hook-form · socket.io-client
DBPostgreSQL 16 (messages / reactions / channels / users)
번역교체형 3종 — DeepL(기본) / LibreTranslate(자체 호스팅) / Anthropic Claude(문맥 인지, claude-haiku-4-5)
인프라Docker Compose (db · server · client, 선택 translate 컨테이너)

번역 파이프라인

기술적으로 주목할 점

  • 채널 = Socket.IO room — join 시 이전 방을 자동 leave 해 항상 현재 채널만 수신. 접속 현황은 room → Map<socketId, nickname> 으로 관리.
  • 수신자 측 온디맨드 번역 — 원문 1건이 사용자별 선택 언어로 각각 표시되고, (provider, target, text) 캐시로 동일 번역 중복 호출을 방지.
  • 프로바이더 추상화 & 우아한 실패 — 세 번역기를 동일 인터페이스로 감싸고, 미지원 언어는 원문으로 폴백.
  • 엄격한 설정 규율(No-Fallback) — 환경변수 기본값을 박지 않고 누락 시 시작 시점에 즉시 throw.
<!-- migrated:product-gallery -->

스크린샷

채널 목록 채널 목록

실시간 채팅 · 이모지 리액션 · 이미지 공유 실시간 채팅 · 이모지 리액션 · 이미지 공유

실시간 대화 실시간 대화

개인별 실시간 번역 — 12개 언어 개인별 실시간 번역 — 12개 언어

Codium Lab Chat | 코디움랩 · 코디움랩