ランニングアプリを作ってみた🏃 キントーン ✕ カスタマイン
Customine Advent Calendar 2024
20日目の記事です。
今年の大きな変化はランニングをしていることです。*先月からの話
社会人になってから早数十年…運動習慣がないことにふと気づき、なんとなく最終手段にしていたランニングを始めることにしました。
序盤は何も考えずに追い込んだせいで左右ふくらはぎから悲鳴や怒号が飛び交いましたが、ペースを落としてみたら意外にもなんとかなりました。実際に続けてみると想像していたほどはキツくなく、むしろ爽快感すら感じられます。学生時代の部活動のイメージが強すぎて、必要以上に構えていたのかもしれません。
そして良かったのは定量化。ランニングアプリ(Nike Run Club を導入)のおかげで月間100km という目標を掲げることができ、試行錯誤を楽しめています。
このようなランニングアプリを kintone ✕ Customine で作るとどうなるだろう?
学びにもなるし、アドベントカレンダーのおかげで強制的なアウトプットもできるし、走らないと検証できないので(できるけど)12月のランニングも続くだろうし…と、一石三鳥ということで着手してみました。
ランニングアプリの構築は自力の範囲で進めようと思ったものの、経験不足が散見し、いつもながらチャットサポートの方々のご協力をいただいております。本年も大変お世話になりました。
ランニングアプリ利用の流れ
①計画をGoogle Chat に通知させる
ポイント
・毎朝、当日のプランの通知がきます。
・「■実績入力画面」のURL をクリックすると、当日に実績入力をしたいkintone 編集画面に遷移します。
②走り終えたらkintone に実績を入力する
ポイント
・消費カロリーに基づき、どれくらい🍺を飲めるのかを教えてくれます。
・月間の目標達成まで残り何km なのか教えてくれます。
・月間目標をクリアしたら胴上げしてくれます。
③一覧やグラフを見て満足する
これらはkintone の基本機能。振り返りが簡単です。
Customine で利用した kintone アプリの構成
Customine はkintone アプリの設計情報を出力できます。この機能も便利です。Customine に利用したフィールドの一部を抜粋 & 加工して添付します。
時間の集計については、kintone の基本機能だと2点ハードルがありました。
①時刻フィールドに秒は使えないため、秒表示をするには工夫が必要です。
②kintone 基本機能の計算式では、剰余演算子(%)が使えないため、秒計から「時間、分、秒」表示に変換するときに工夫が必要です。
そのため、実績入力用、秒計算用、「時 : 分 : 秒」表示用のフィールドを用意しています。例えば「1 : 0 : 34」という表示は文字列(1行)フィールドで対応します。
補足:のちほど調べたところ、基本機能で剰余演算子(%)が使えなくても工夫により対応できました。さすがです!
参考:kintone エバンジェリスト 松田 正太郎さんの記事
計画はChatGPT で作成
通知用のトレーニングメニューはChatGPT で作成。修行といえばドラゴンボールの世代なので、当日の一言については野沢さん風の口調にしてもらいました。
Customine の構築画面
■Google Chat 通知 Job Runner - 定期実行タスク
■「時 : 分 : 秒」表示 Customine
■ダイアログ表示 Customine
ざっくりと3つの動きをしています
・当月の走行距離の実績の集計
・目標 ー 当月の集計した距離の累計実績 = 達成までの距離の計算
・結果をダイアログで表示
おわりに
Google Chat の通知からkintone の編集画面にいける流れは、ストレスなく入力できて使い勝手が良かったです。また実績を一覧やグラフにして簡単に見れるのは改めてkintone の良いところだなと思いました。振り返りに使えます。
アプリのおかげもあり、ランニングは2ヶ月目も順調に続いてます。ただ、習慣化には3ヶ月くらいは施策が必要!という自論がありますので、「2月開催の10km ランニングイベントにエントリーする」という手を打ちました。これで翌月3ヶ月目も継続してがんばれると思います。
そして、来年はトレランもやってみたいという新たな興味が湧き、来年の楽しみができました。
以上です。
皆さま、本年もお世話になりました。ありがとうございます。
良いお年をお迎えください。
来年もよろしくお願いします。