カーシェアリングWebアプリ


What?

熊野寮には、20人ぐらいで集まって車4台を所有し、車検代と保険料を3万円づつ負担し、ガソリン代を走行距離に応じて負担することによって、安い維持費で自動車を利用できるようにしているグループがある。カーシェアリンググループである。 このカーシェアリンググループにおいて、従量課金制のガソリン代を計算するのがこのWebアプリケーションである。

Why?

「ガソリン代を走行距離に応じて計算する」という部分を自動化するためである。 もともとは、車内に小さなノートを置いておいて、乗るときと降りるときに自動車の走行距離メーターの値をメモしておき、半期に一度その内容をExcelシートに打ち込んでVBAを実行することで、一人あたり何円のガソリン代を払うべきなのかを計算していた。

ノートの内容をExcelに打ち込みする部分が尋常でないほど辛く、一度その作業をやらされたときは発狂するかと思うほどであった。 この作業を人間にやらせないためには、走行距離を記録する際に電子媒体に記録する必要がある。そうしなければ、手入力の地獄から逃れられないからである(代替案としては、ノートに記入してある数字を機械学習的な手法で読み取るというものがあるが、ノートを画像に起こすところは手動でやらなければいけないので却下した)。

How?

中身はただのRailsAppである。スマートフォンから操作しやすいようなデザインを採用した(逆に、PCのブラウザではまともに動作しない)。

特筆すべき点としては、文脈に応じて変わるValidationの条件をうまく表現するために、HTMLとModelの間に入るFormという層を設け、ValidationとModelのbuildをFormにまかせている。 しかしこれも設計としては微妙で、うまくいっているかというとそうでもない。 ともあれもう動いているし、テストも書いてエラーも出ていないので設計からやり直すつもりはない。