twitchの配信ホスト予約システムを作った (ゆるいRTAイベント用)
つくったもの
- Google Calendarに配信ホスト予約を登録しておくと、ホスト用チャンネルが自動ホストしてくれるサービス
モチベーション
- ゆるい自動進行形RTAイベントの模索
- 運営の負荷をできるだけ少なくし、気軽に開催できるイベントをつくりたい
- 「走者が好き勝手に枠を予約する感じの仕組みを作ったら需要があるのではないか」
- @wak_ky氏, @suzuribox氏発案
成果物
構成
Lambda関数の設計
- DataMapperを格納しているMappersディレクトリは、実際にはDomain,Infrastructureと並列に置いてしまったが、依存の向き的に、図のようにInfrastructureに含めたほうが良さそうだ
- 予約取得(クエリ)と配信ホスト実行(コマンド)でLambda関数を分けたほうが良かったかも
- SRP違反
- Google Calendarに変更があっても、あるいはTwitchに変更があっても、コードに修正が必要になってしまう
- SRP違反
学び
意図しなかった学び
- IRC: Internet Relay Chatプロトコル
- twitchの
/host
,/unhost
コマンド発行は、当初HTTP POSTか何かで行う想定だった - 調べてみると、twitchのチャットはIRCらしいので急遽色々調べて触った
- そういやchattyはIRCクライアントだった
- tmi.js -- twtich向けIRCクライアントのJS実装
- twitchの
意識してねじ込んだ学び
- ユースケース駆動モデリング
- Serverless Frameworkの復習
- Prime Videoごちうさ監視システムで使ったので反復練習
- CI/CDを先に整備してから実装を進めた
- 何もしない最低限のhandler.tsを起き、先にCDを構築した
- 見積もり
- trivate estimates続投
- 2時間ばかりオーバーしてしまった。まだまだ楽観的すぎる
- 技術検証と謎のバグ追跡が重かった
- <1%の悲観的見積もりをもっと極端に盛らないといけない
- 2時間ばかりオーバーしてしまった。まだまだ楽観的すぎる
- trivate estimates続投