配送管理システム
稼働中の車両の位置と遅延を地図上でリアルタイムに把握します。

- 開発期間
- 約5か月
- 体制
- 4名
- 対応プラットフォーム
- ウェブ · サーバー
- 管制対象
- 運行中の配送車両
背景
配送車両が今どこにいるのか、予定より遅れているのかを配車担当者が電話で確認していました。車両が増えるほど、電話では管制が追いつかない状態に至っていました。
実装範囲
- 車両位置のリアルタイム収集
- 地図ベースの管制画面
- 配送遅延の判定・表示
- 配車担当者への通知
- 配送完了履歴の照会
技術選定
その状況で何をなぜ選んだか車両位置の収集と遅延判定ロジックを分離して構成
位置収集は途切れなく受け取り続ける必要がある一方、遅延判定は配送経路と予定時刻を併せて考慮する別の計算でした。二つの役割を分離することで、位置収集パイプラインを安定的に維持しながら遅延判定ロジックだけを個別に改善できるようにしました。
地図画面はNext.jsで位置データをポーリングではなく購読方式で更新
配車担当者は複数の車両を同時に見守る必要がありますが、毎回更新ボタンを押さなければならないと遅延対応が遅れてしまいます。位置が更新されるたびに画面へ即座に反映されるようにし、担当者は画面を見続けるだけでよい状態にしました。
技術課題
課題
車両用の位置端末の通信状態にばらつきがあり、一部車両の位置情報が数分単位で途切れて届く場合がありました。
アプローチ
最後に受信した位置と受信時刻を併せて表示し、一定時間以上位置が更新されない場合は管制画面上で別途表示するようにしました。
結果
配車担当者が通信途絶中の車両と正常運行中の車両を区別して確認できるようになりました。
課題
配送経路がリアルタイムの交通状況に応じて常に変わり、最初に計算した到着予定時刻がすぐに意味を持たなくなっていました。
アプローチ
到着予定時刻を固定値ではなく現在位置を基準に周期的に再計算するようにし、再計算した時点も併せて画面に表示しました。
結果
配車担当者が現時点を基準に更新された到着予定時刻を見て、遅延の有無を判断できるようになりました。
引き継ぎと運用
配車担当者向けの管制画面利用ガイドを日本語で提供し、位置端末の連携方法を別途文書として残しました。ソースコードとインフラ構成を引き渡し、運用初期の期間中は通信関連の問題対応を支援しました。