Skip to content
/ word-war Public

🆚 Developping a word-chain game service for studying(now paused)

Notifications You must be signed in to change notification settings

i-pu/word-war

Repository files navigation

word-war

Developping a word-chain game service for studying

✔ Status

Testing

Go Report Card codecov

CI/CD

Actions Status Actions Status Actions Status

💪 Skill Stacks

Infra/Server

go firebase redis grpc docker

Frontend

js bulma

🚧 Roadmap

want to practice scrum development

  • v1.0
    • minimum viable product
  • v1.1
    • siritori
  • v1.2
    • rating
    • Health Check
    • routingのガード
  • v1.3
    • redisの初期化といらないキーの掃除
    • ランダムマッチングシステムの実装
  • v1.4
  • v1.5
    • ワーカーの導入
      • 部屋を作るのは1つの部屋に対して1回のみなのでそうゆうこと
        • 時間制にする
        • Critical: 部屋に100人いれば100回UpdateRatingが呼ばれるので部屋に固有のgoroutineを作成し、1回だけ呼ばれるようにしたい
  • v1.6
    • ルーム指定のマッチングシステムの実装
      • マッチングのストリーム
      • クライアントの待機画面の作成
    • Game画面ブラッシュアップ
      • 今のスコア表示をしてもいいかも
  • v1.7
  • v?.?
    • 空文字送られるとぶっ壊れるのでサーバ側でバリデーションをする(client済み)
    • テスト
      • goleakでgoroutineの数を計測する
      • clientのテストのほうが楽かも
      • 文字の長さが長かったら得点大にしたい、思考時間とかも考慮して点数を変えたい
    • だめなメッセージも全員に送るようにしてクライアントで処理してもらう
    • 2回同じ単語はだめなので、履歴を保存して検査する
    • RoomIdがかぶった場合などすでに部屋が存在した場合はもう一度作成するようにする
      • 伸ばし棒終わったらそのまえの文字を最後の文字とする

📖 Document

https://i-pu.github.io/word-war/

💻 Environment

init

./protoc-gen.sh

develop setup

docker-compose up --build

server

cd server && go run main.go

client

cd client && yarn && yarn start

❓ 参考文献

https://github.com/improbable-eng/grpc-web/tree/master/go/grpcweb

https://techblog.ap-com.co.jp/entry/2019/07/31/165309