ブラキオカップ

Pokémon Trading Card Game Pocket(ポケポケ)

https://github.com/tosaken1116/BrachioFront

Go

React

AWS

DynamoDB

Terraform

エンジニア版のポケポケです!

土佐犬

Kizuku

やまと

くりち

推しアイデア

エンジニア版のポケポケを作りました AIに極力頼らずに自分たちでカードのマスターデータを考えました バランス調整にもこだわりました

作った背景

最近流行りのゲームを模倣してエンジニア同士で楽しめるようにしました また、ポケポケの技術的な実装についても気になったため自分たちで作ってみることにしました

推し技術

Blue/Green デプロイ TerraformでIaC Cloudflare AccessによるSSOの実現 CDN Go/WebSocketでのクリーンアーキテクチャ ポケポケ準拠のUI/UX OpenAPI/Protocol Buffer PassKey

プロジェクト詳細

プロダクト概要

技術構成

技術構成図

image

フロントエンド

React + Vite + TypeScript https://github.com/tosaken1116/BrachioFront

パスキー認証

cognitoによるパスキー認証を導入しました アカウントを作成すれば、以降のログインは生体認証でのログインが可能になります image image

バックエンド

Go REST API / WebSocket https://github.com/yamato0211/brachio-backend

インフラ

https://github.com/yamato0211/brachio-backend/tree/main/infra

  • 主にAWSを使用
  • terraformによりAWSのリソースを一元管理
  • cognitoを使用したパスキー認証
  • Cloudflare Access & ZeroTrustを使用したaws ssoの構築
  • Reactアプリケーション & 画像アセット前段にCDNを配置
  • CodeDeployを使用しBlue/Greenデプロイを実現

Blue/Green デプロイ

旧環境を青, 新環境を緑と見立て、旧環境と新環境をLBの振り分け先を変えることによってデプロイを行う手法 アップデート後にエラーが起きたとしてもLBを旧環境に振り分け直すことで最低限動くことを担保できる

デモ動画はこちら

image

スキーマ

REST APIはOpenAPI WebSocketはProtocol Buffer https://github.com/K-Kizuku/brachio-api-spec 可能な限りスキーマを元にコード生成を行い効率的に開発を進めました

ゲーム紹介

タイプ

このゲームには筋肉知識人気NULLの6つのタイプが存在します。
例外は存在しますが、主な相性は以下の通りです

筋肉は酒に弱く、酒は人気に弱く、人気は金に弱く、金は知識に弱く、知識は筋肉に弱いです。NULLはどのタイプに強弱はない

カード紹介

image image image

土佐犬

@tosaken