본문 바로가기

JavaScript

웹서비스에 채팅 기능 추가.

웹서비스에 채팅을 넣어보자.

How? socket.io? 외부 프로그램?

socket.io

노드를 공부해봤다면 socket.io를 들어봣을 것이다. 'socket.io'는 주로 채팅, 피드 관련 기능에 쓰인다. 즉각적으로 반응해주는 기능이 필요한데에 쓰인다고 보면 된다.

그래서 socket.io를 이용해서 채팅 기능을 만들것인가?
시간적 여유가 있다면 만들겠으나. 시간적 여유가 없으니 이미 만들어져있는 채팅 플러그인을 쓰기로 정했다.

channel.io zendesk etc..

여러 종류가 있다. 한국에서는 channel.io의 'chennel talk'를 많이 쓰는 듯하다. 탈잉, 인프런 등등 엄청 많은 곳에서 사용하고 있다. 좋은 점이 한가지 더 있다. 채팅 상담은 주로 쇼핑몰에서 많이 쓰인다. 채팅할때 고객 정보를 이용할 수 있으면 기업입장에서 매우 편하지 않을까. 그래서 그런지 고객 데이터 관리까지 쉽게 연동할 수 있다고 한다.
(직접 chennel talk 에 채팅 문의를 해서 여러가지로 물어봤다.ㅎㅎ)

기획자가 원했던 사항.

  • 채팅 내에서 프로젝트 진행 상황을 수정할수 있었으면 함.

ex) 제작상황: [ 주문 / 제작전 / 제작중 / 제작 완료 / 결제]
채팅 플러그인 내에서 특정 인터페이스를 누르면 '제작중' 에서 '제작 완료'로 제작 상황이 변경되면 좋겠다.

[문제] 플러그인에서 백엔드 API를 실행시킬수가 있나? API가 아니더라도 스크립트를 실행시킬수가 있나?

[Yes] 채팅 기능을 우리가 자체적으로 개발한다면 당연히 가능하다. 우리가 만든다면 채팅 기능을 하는 컴포넌트를 HTML에 끼워넣고 제작 상황 관련 인터페이스들은 주변 다른 컴포넌트에 배치해두면 되니깐. 채팅과 다른 기능들을 완전히 분리시키고 보여주는 것은 같은 화면에서 보여준다.

[No] 채팅 플러그인으로는 불가능하다. 채팅 플러그인에 HTTP 통신을 가능하게 하는 방법을 못찾겠다.
"이런 기능이 필요하다면 어떻게 해야하나요?" 질문하니 "이용자가 직접 변경할수 있는 페이지로 이동시키는 것이 어떻나요?" 하셨다.
혹은 자체적으로 특별한 방식을 개발해야 한다고 했다.

채팅 내용에 따라 필요한 작업을 하는 자동화 코드를 만들라는건데 이 작업보다는 이참에 채팅기능을 직접 구현하는 것이 낫지 않나 싶다.

[결과]

여유가 있다면 채팅 구현해보자. 여유가 없으면 플러그인을 쓰고.

'JavaScript' 카테고리의 다른 글

좀더 코드를 있어보이게 짜자 (JavaScript)  (0) 2020.09.21
Process of showing datas to client [React]  (0) 2020.07.29
Context API [React]  (0) 2020.07.27
Hooks code example [React]  (0) 2020.07.27
Component keywords [React]  (0) 2020.07.27