← PROJECT INDEX

WEB / DESKTOP

大会運営・集計・配信システム

大会・イベント運営のWebシステムと、集計・配信を支える関連デスクトップソフトウェア。kの開発経験から、名称を伏せて実装機能と設計を紹介します。

STATUS開発・改善
DISCLOSURE名称非公開 / 技術・機能のみ紹介
TECHNOLOGIES
Nuxt / VueLaravel / PHPTypeScriptElectronPython / FastAPIWebSocketDiscord.js

01 / IMPLEMENTATION

運営に必要な機能を、ひとつの流れに。

参加者、試合、採点ルール、結果。それぞれを独立した画面として扱いながら、同じデータの流れにつなぐ設計です。

  • 大会の作成・編集、参加者・チームの管理、運営権限
  • 試合・シリーズの管理、順位点と撃破点のルール設定
  • 個人結果からチーム結果・シリーズ順位への集計
  • 順位の推移、統計グラフ、条件別の順位シミュレーション
  • リプレイ取り込み・解析処理と接続するデスクトップUI
  • 配信用の結果表示、クロマキー、複数ウィンドウ
  • Discord Botによるロール・チャンネル等の運営操作

02 / DATA & LOGIC

結果を直した後の、整合性まで考える。

結果の修正・削除に合わせて、影響するチームの集計を更新。対象から外れた集計行の削除も含め、ランキングへ反映する処理を実装しています。

同点時の順位は総得点・勝利数・総撃破数・平均順位などの規則で決定。一括保存やSQLによる順位計算を組み合わせ、計算ルールをコードに明示しています。

03 / INTEGRATION

画面とアプリをつなぎ、失敗時も扱う。

Web APIが結果を受け取り、集計後の更新をWebSocketで配信用画面へ通知。配信表示には定期的な再取得も組み合わせています。

Botへの操作は処理待ちのキューで管理し、完了・失敗・再試行・タイムアウトを分けて扱います。外部連携を画面の処理から切り離す構成です。

大会管理はWeb側に実装。関連ソフトのトーナメントブラケットは表示UIの開発範囲として扱い、完成した大会進行機能とは区別しています。

← 制作物一覧へ

HAVE SOMETHING IN MIND?

次は、何をつくろう。

まだ輪郭のないアイデアから、お話しください。