Table of Contents
트채통은 인터넷 방송 플랫폼 "트위치"의 채팅로그를 분석, 시각화하여 보여주는 서비스 입니다.
트채통은 Twitch에서 운영하는 사이트가 아닙니다.
아래에서는 로컬에서 프로젝트를 실행하는 방법을 설명합니다.
다음과 같은 프로그램이 설치되어 있어야 합니다.
- Docker
- Docker Compose
- 프로젝트를 클론 받습니다.
git clone https://github.com/team-irc/tchatong
- 프로젝트의 루트에
docker.env
라는 파일을 만들고 아래의 내용을 채웁니다.# redis REDIS_HOST=YOUR_REDIS_HOST REDIS_PORT=YOUR_REDIS_PORT # mariaDB DB_HOST=YOUR_DB_HOST DB_USER=YOUR_DB_USER DB_PASSWORD=YOUR_DB_PASSWORD DB_NAME=YOUR_DB_NAME # google big query GOOGLE_PROJECT_ID=YOUR_GOOGLE_PROJECT_ID GOOGLE_DATASET_ID=YOUR_GOOGLE_DATASET_ID GOOGLE_TABLE_ID=YOUR_GOOGLE_TABLE_ID GOOGLE_APPLICATION_CREDENTIALS=/backend/key_name.json # twitch chat bot TWITCH_ID=YOUR_TWITCH_IRC_ID TWITCH_PW=YOUR_TWITCH_IRC_PASSWORD # twitch api TWITCH_API_CLIENT_ID=YOUR_TWITCH_API_CLIENT_ID TWITCH_API_CLIENT_SECRET=YOUR_TWITCH_API_CLIENT_SECRET TWITCH_API_ACCESS_TOKEN=YOUR_TWITCH_API_ACCESS_TOKEN # influxDB INFLUXDB_DB=YOUR_INFLUXDB_NAME INFLUXDB_USER=YOUR_INFLUXDB_USER INFLUXDB_ADMIN_ENABLED=true INFLUXDB_ADMIN_USER=YOUR_INFLUXDB_ADMIN_USER INFLUXDB_ADMIN_PASSWORD=YOUR_INFLUXDB_ADMIN_PASSWORD # grafana GRAFANA_ADMIN=YOUR_GRAFANA_ADMIN GRAFANA_ADMIN_PASSWORD=YOUR_GRAFANA_ADMIN_PASSWORD # phpmyadmin PMA_HOST=YOUR_PMA_HOST PMA_PORT=YOUR_PMA_PORT PMA_ARBITRARY=YOUR_PMA_ARBITRARY PMA_ABSOLUTE_URI=YOUR_PMA_ABSOLUTE_URI
- app/db/srcs 폴더에 init_db.sql 파일을 생성하고 내용을 채웁니다.
FLUSH PRIVILEGES; CREATE DATABASE YOUR_DB_NAME; CREATE USER YOUR_USER_NAME'%' IDENTIFIED BY 'YOUR_PASSWORD'; GRANT ALL ON *.* to YOUR_USER_NAME'%' IDENTIFIED BY 'YOUR_PASSWORD'; FLUSH PRIVILEGES;
- app/backend 폴더에 Google Big Query Key를 넣습니다.
- 컨테이너를 실행시킵니다.
docker-compose up --build
MIT 라이선스에 따라 배포됩니다. 자세한 내용은 LICENSE.txt
를 확인해주세요.
Next.js, Nest.js, GraphQL, MariaDB 등을 사용해 트채통 서비스 구축
Nest.js + GraphQL로 구현된 백엔드 서버가 느려서 Golang + RESTful API로 마이그레이션
redis를 사용해서 API 응답 캐싱
Google Big Query 서비스를 이용해 종합 통계 기능 추가
백엔드 서버에서 주는 timestamp를 safari에서 파싱하지 못하는 버그 수정
top word 카운트 버그 수정
AMATEURTOSS - amateur.toss@gmail.com
HanGyeolN - ghnruf@gmail.com