Google Apps Scriptで野球部の成績管理を自動化してみた
背景
今年は会社の野球部で成績を可視化しており、チームが強い*1ため結果表は皆の平日中の楽しみの1つである。しかし入力はLINEでそれぞれのプレイヤーが申告したものをキャプテンが仕事中に手動入力しExcelにまとめ、結果は業務連絡のEmailに貼り付けられ送られておりキャプテンの負荷が大きように見えた(彼の趣味だけど)。この冗長な作業はエンジニアとして黙って見過ごせなかったのとGASに興味もあったのでいい機会と思って勉強しつつツールを作った。
成果物
- 成績入力フォーム
成績の入力はGASで定義され自動生成されたGoogle Formを使った。それぞれのプレイヤーが結果を入れたらデータは自動でGoogleスプレッドシートへ保存される。
*結果表
GASではstaticなWebページを作成・公開をすることができる。サーバーはGoogleのものを使えてタダ。便利。
今回の利用では試合ごとの試合成績の表示、全試合でのトータルの成績表示、打撃指標でのランキングの作成と表示を自動で行う。 以下は名前が出ないように切り取ったもの。
作り方
以下のスライドに実際に使った技術要素に触れつつGASは何ができるのかをまとめた。実際にどうやるかはキーワードをもとにググったらすぐに出ると思う.
ここで作ったコードはGitHubにアップした。初めてGASに触れて3日で打者用投手用入力から表示まで作れたがテストは書いてないし力技も多い。。。
www.slideshare.net
GASを使ってみた所感
思っていた以上に便利だった。G Suitesのドキュメントにプログラムから簡単にアクセスできてデータを扱え、WebサイトやFormの公開もできる。 プライベートで何か小さなことをするときには積極的に使っていきたいし、GCPのプロダクトとの組み合わせも試してみたい。
Useful Links
本家のサイト。必要な情報はほぼここにある。 developers.google.com
GASを利用するときのプラクティス例 qiita.com
ローカル開発用のツール https://github.com/google/clasp
*1:4試合連続コールド!最高かよ!!