今回はAIを活用したアプリケーション開発の第5弾として、スマートフォンのGPSを活用した業務報告管理の補助アプリを作成しました。
過去にGPSを活用したアプリケーション開発の要望を伺う機会があったため、技術面を押さえるべく、実際に実装してみることとしました。
アプリケーション概要
このアプリケーションは、作業者がモバイル端末から送信する業務報告の管理を補助するものです。
作業者は、送信時点の位置情報を付与して報告書を管理用アプリケーションに送信します。
作業責任者は、この管理用アプリケーションを通して、報告内容を位置情報とともに確認し、問題なく作業が実行されたことを確認します。
アプリケーション操作の流れ
今回のアプリケーションは、Androidを使用したスマートフォンアプリと、管理者用アプリケーションの2つで構成されます。
ここでは、これらの二つのアプリの操作の流れをご説明します。
操作の流れは下記の通りです。
- ユーザの登録(管理用アプリケーション)
- 作業地点の登録(管理用アプリケーション)
- 作業者がアプリにログイン(スマートフォン)
- 報告の実施(スマートフォン)
- 報告の確認(管理用アプリケーション)
ユーザの登録(管理用アプリケーション)
作業者がスマートフォンからアクセスできるようにするため、管理用アプリケーションにユーザを登録します


作業地点の登録(管理用アプリケーション)
作業責任者は、作業者が登録するための作業地点を予め登録しておき、作業者が報告するための準備を行います。


作業者がアプリにログイン(スマートフォン)
上記準備が出来たら、作業者はスマートフォン端末からログインします。

報告の実施(スマートフォン)
ログインが完了したら報告を実施します。


報告の確認(管理用アプリケーション)
作業責任者は管理用アプリケーションから報告を確認します。
作業地点と報告地点の距離は、緯度と経度から計算し、報告を行った位置が作業地点データに登録した半径内に入っている場合は「作業範囲内」チェックが入り、報告を行った位置が作業地点データに登録した半径内に入っていない場合は「作業範囲内」チェックが入らない仕組みとしました。

実装を終えた所感
今回は、全体を通して、AIを使うことで新しい技術の開発をスムーズに進めることができました。
今回初めて開発したKotlinの動作仕様に起因すると思われるエラーの解消に時間がかかりましたが、それでも全体を通して14時間ほどの時間で開発が完了しました。
開発に使用したAIはChatGptとGithub CopilotのAgentモードです。
管理用アプリケーション
管理用アプリケーション開発は、私が開発に慣れているJava+Springフレームワークを使用していたこともあり、新規技術の開発を除いて詰まることなく開発が完了しました。
管理用アプリケーションの開発全体でかかった時間は4時間ほどで、半分はスマートフォン側のJWTの認証セッション管理をライブラリ非依存で構築するために使った時間です。
もう半分の時間で、残りの機能の実装・調整を行いました。UIの実装はGithub CopilotのAgentモードを使用して30分ほどで完了しました。
スマートフォンアプリ
Androidのスマートフォンアプリの開発は初めてだったため、Kotlinの動作仕様に起因すると思われるエラーの解消に多くの時間を使いました。このエラーが解消された後はAIを活用してスムーズに開発を進めることができました。
エラーの解消にかかった時間も含め、作業は合計で10時間ほどで完了しました。
まとめ
今回の開発では、送信しようとする報告書データに、スマートフォンの位置情報を付けることで、データ送信時点の位置情報を確認できるようにしました。
今回の機能を応用することにより、次のような実装が可能となります。
報告データ送信時点の位置情報をスマートフォンから送信
- GPS情報を用いた、業務開始・終了の位置監視
一定時間ごとにスマートフォンから位置情報を送信
- 報告データに入力した作業時間と定期的に記録した位置情報を比較して、作業位置に滞在していたかの確認
- 営業・保守点検のルート追跡
今度は、GPSを使った定期的な位置情報の記録についても実装してみたいと思います。