Skip to content

progate-hackathon-enpower/andere-boxing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

177 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

image

突きラッシュ の速さ比べか?

Apple Watch のセンサーデータをトリガーに、iOS アプリ経由で Rust 製の低遅延同期サーバーと通信し、Web UI 上でアバター同士をリアルタイムに対戦させる格闘ゲーム。

使用技術一覧

Swift Rust React TypeScript Vite Kubernetes AWS WebTransport

アーキテクチャ

[Apple Watch (watchOS)]  --->  [iOS アプリ (Swift)]
                                       |  WebTransport (UDP:7000-8000)
                                       v
[Web UI (React/TanStack)]  <---  [sync-server (Rust)]  <---  [Kubernetes + Agones]
   対戦描画・観戦              Protocol Buffers            サーバー割り当て

環境一覧

カテゴリ 技術 バージョン
iOS / watchOS Swift / SwiftUI -
同期サーバー Rust / wtransport / Tokio / prost Edition 2024
Web React / TanStack Start / Vite / Tailwind CSS 19 / 1.132 / 7 / 4
インフラ Kubernetes / Agones / ArgoCD / Cloudflare Workers -

ディレクトリ構成

apps/
├── andere-boxing/    # iOS / watchOS アプリ (Swift)
├── sync-server/      # リアルタイム同期サーバー (Rust)
├── web/              # Web フロントエンド (React)
└── proto/            # Protocol Buffers 定義
infra/
├── argocd/           # Kubernetes マニフェスト
└── terraform/        # IaC

開発環境構築

前提条件

  • Rust (Edition 2024)
  • Node.js + pnpm
  • Xcode (iOS / watchOS ビルド用)
  • Protocol Buffers (protoc + swift-protobuf)

Protocol Buffers セットアップ

# ツールのインストール
cd apps/proto
make install-deps

# Swift コードを生成
make generate

詳細は apps/andere-boxing/PROTOBUF_SETUP.md を参照。

sync-server

cd apps/sync-server
cargo run

Web

cd apps/web
pnpm install
pnpm dev

環境変数一覧

変数名 説明 デフォルト
AGONES_ALLOCATOR_HOST Agones Allocator のホスト -
AGONES_ALLOCATOR_PORT Agones Allocator のポート -
DISCORD_WEBHOOK_URL Discord 通知用 Webhook URL -

About

🏆 58ハッカソン vol.6 最優秀賞受賞 【ラッシュの速さ比べか...】

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors