Skip to content

team-irc/tchatong

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues MIT License


Logo

트위치 채팅 통계 서비스

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. License
  4. History
  5. Contact

About The Project

Product Name Screen Shot server

트채통은 인터넷 방송 플랫폼 "트위치"의 채팅로그를 분석, 시각화하여 보여주는 서비스 입니다.

트채통은 Twitch에서 운영하는 사이트가 아닙니다.

(back to top)

Built With

Google Cloud MariaDB Redis Big Query Next JS Go Python Nginx Docker GitHub Actions Grafana InfluxDB Telegraf PhpMyAdmin

(back to top)

Getting Started

아래에서는 로컬에서 프로젝트를 실행하는 방법을 설명합니다.

Prerequisites

다음과 같은 프로그램이 설치되어 있어야 합니다.

  • Docker
  • Docker Compose

Start

  1. 프로젝트를 클론 받습니다.
     git clone https://github.com/team-irc/tchatong
  2. 프로젝트의 루트에 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
  3. 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;
  4. app/backend 폴더에 Google Big Query Key를 넣습니다.
  5. 컨테이너를 실행시킵니다.
    docker-compose up --build

(back to top)

License

MIT 라이선스에 따라 배포됩니다. 자세한 내용은 LICENSE.txt를 확인해주세요.

(back to top)

History

v1.0.0

Next.js, Nest.js, GraphQL, MariaDB 등을 사용해 트채통 서비스 구축

v2.0.0

Nest.js + GraphQL로 구현된 백엔드 서버가 느려서 Golang + RESTful API로 마이그레이션

v2.0.1

redis를 사용해서 API 응답 캐싱

v2.1.0

Google Big Query 서비스를 이용해 종합 통계 기능 추가

v2.1.1

백엔드 서버에서 주는 timestamp를 safari에서 파싱하지 못하는 버그 수정

v2.1.2

top word 카운트 버그 수정

Contact

AMATEURTOSS - amateur.toss@gmail.com
HanGyeolN - ghnruf@gmail.com

(back to top)