2022-04-01

社内チームのコーチングWebアプリ開発支援

会社内のチームに対するコーチング・コンサルティングを行われている事業社様にて、新規Webアプリケーションの開発を支援いたしました。自社で構築されている数名の開発チームに参画する形で実装上の問題解決を致しました。

設計

渡されている設計としては以下のようになっていました。

  • ユーザは複数名でログインする
  • 同時に進行するゲーム形式でWeb上でコーチングを受ける
  • ゲーム中にチーム内の問題について意見を投稿し、お互いの投稿が配信される
  • 最終的に投票によって有力な解決策が決定したところでゲームは終了する

実装上の問題は、複数ユーザ間のゲーム進行の同期にあると見て、私の方で実装の指針を提案させていただきました。

実装

GraphQLと呼ばれるHTTP通信技術を用いて、Subscription(WebSocketによるサーバからクライアントへのデータ配信)を通じて複数ユーザ間のデータ同期を可能にしました。

また、チーム内の全員がゲーム内のプロセスを完了した際には、ゲームを次のステージに進行する処理をトップレベルのコントローラを設置することにより対応し、動作の安定化を図りました。

またデータ処理を可能な限りサーバサイドに移すことにより、重複となるデータ処理を未然にキャンセルし再試行させ、ゲーム進行上の不具合を防ぎました。

運用

バグ報告に対する修正・ゲーム内容の見直しに伴う改修も含めて引き続き対応しています。

使用技術・環境

  • Typescript
  • React
  • AWS Amplify
  • Serverless Framework(AWS)
トップに戻る