Skip to content

A-ITC/itcobkai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

概要

サークルのOB会を大人数で行うために作成したボイスチャット兼Wikiです。

とりあえず試す

  1. Node.jsをインストール
  2. このリポジトリのコードをgit clone又はダウンロード
  3. これを展開して各ディレクトリに配置
  4. src/rtc/viewer/Viewer.tsxの以下の行を編集
// 以下をコメントアウト
ct.init(res.profiles, rtc.message)
rtc.start(ct.player!.profile, ct.player!.id, localAudio.current!, remoteAudio.current!, receive)

// 以下のコメントアウトを解除
ct.init(res.profiles, console.log)
ct.start(5, 4)
ct.join(res.profiles["2Jc4uot"], "2Jc4uot", 6, 7)
ct.join(res.profiles["C3kjj1X"], "C3kjj1X", 6, 6)
  1. 以下のコマンドを実行
$ npm install
$ npm start

デプロイ

AWSの設定

S3

以下の構造でバケットとオブジェクトを作成

itcobkai (公開バケット)
├- assets/
│  ├- favicon.png
│  ├- hakase.jpg
│  ├- map_b.png
│  └- map_t.png
├- build/
└- note/

itcobkai-internal (非公開のバケット)
└- md/

lambda

以下の関数を作成

  • itcobkai
    • AmazonS3FullAccessをアタッチ
    • AmazonDynamoDBFullAccessをアタッチ
    • lambdaディレクトリ直下のにあるPythonファイルを配置(tools/lambda.sh)
    • profiles.pyを配置
    • 以下の形式のkey.pyを作成(kinesisとskywayはどちらか一方のみでOK)
KEYS = {
    "AWS_REGION": 'kinesisのリージョン',
    "AWS_CHANNEL_ARN": 'kinesisのチャンネル',
    "AWS_ACCESS_KEY_ID": 'kinesisのアクセス鍵',
    "AWS_SECRET_ACCESS_KEY": 'kinesisの秘密鍵',
    "AWS_CH_NAME": 'kinesisのチャンネル名',
    "SKYWAY": "skywayのキー"
}

S3_PUBLIC = "itcobkai"
S3_INTERNAL = "itcobkai-internal"
  • itcobkai-requests
    • ここを参考にrequests(外部ライブラリ)をレイヤーとして追加
    • AWSLambdaRoleをアタッチ
    • lambda/discord.pyの内容をlambda_function.pyにコピー
    • 以下の形式のkey.pyを作成
DISCORD = {
    "CLIENT_ID": "Discord APIのID",
    "CLIENT_SECRET": "Discord APIのシークレットキー"
}

DynamoDB

以下のテーブルを作成する。全て「設定をカスタマイズ」からオンデマンドキャパシティーモードを選択する。

テーブル名 パーティションキー ソートキー TTL
itcobkai token (String) expired_at
itcobkai_notes id (String)
itcobkai_unreads user_id (String) note_id (String)
itcobkai_status mode (String)

Amazon API Gateway

以下の2つのエンドポイントを設定デプロイする。ステージからURLを控えておく。

  • POST /
    • lambda統合でitcobkaiと紐付ける
  • POST /discord
    • lambda統合でitcobkai_requestsと紐付ける

Kinesis Video Streams

skywayの方が圧倒的に使いやすい上に無料なので現在は使っていない。

フロント側の設定

  1. AWS SDK for Pythonをインストール
  2. 「とりあえず試す」の項目4以外を全て行う
  3. src/common/Config.jsでLAMBDA_URLS3_URLを設定
  4. 以下のコマンドを実行
$ npm run build

その他

マップの素材はドット絵世界さんからお借りしています。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published