使用したもの
Typescript, Vue.js, Python, FastAPI, PostgreSQL, Nginx, Docker
作成経緯
自動車小売業に転職した際、整備工場の予約、工程管理は壁に貼られた巨大な紙で管理されていました。
日付ごとに午前3マス午後5マスの区切りがあり、予約を受けたら名前を書いてマスを塗り潰すという形で管理をしていました。
この管理方法では以下のような問題が発生していました。
- 作業員ごとの振り分けが明確ではなく、スキルの差による受付量が考慮されていなかった
- 掲示可能なスペースの問題上、1ヶ月以上先の予約がどの程度入っているかが不明瞭だった
- 入庫時間があやふやで待ち作業を受けづらく代車の需要がひっ迫していた
- 代車の貸出予定が管理されておらず、当日突然代車の不足が判明することが多かった
- 予約状況を確認するには掲示されている場所まで移動して確認する必要があった
そのため予約・行程をデジタル管理することでこれらの問題の解決や利便性の向上を行いました。
今回は1からの開発ではクオリティに限界を感じたため、FullCalendar(有償)を使用しました。
アピールポイント
ブラウザベースのアプリケーションとして作成したことで、社内のすべてのパソコンから確認・変更を行うことができるようになり利便性が向上しました。
また作業員ごとの枠を設けることで作業の割り振りが明確になり、空き時間が可視化されるようになりました。空き時間が可視化されたことで当日作業希望のお客様の予約取りやすくなったほか、作業のブッキングが発生することが劇的に少なくなりました。
また細かい時間指定での予約が可能になったため、短時間で完了する作業では代車を出してお預かりするスタイルから店内にてお待ちいただくことを基本とするスタイルに転換することが可能となりました。
改善点
今回のシステムは1つのアプリケーションとしては私が作成したものの中で最も巨大なものになりました。
今までの開発では大まかな構想だけ考えておき、要件定義や設計などは作りながら考えるという形をとっていましたが、修正を余儀なくされた際の影響が非常に大きく、多くの時間をとられてしまいました。
個人開発においても規模感が大きい場合は要件定義や設計を明文化してあらかじめ作成することが非常に重要だと痛感しました。