はじめに
こんにちは@shunsuke0810と申します。
鉄道運転士をしております。
DIVE INTO CODEで4ヶ月間、未経験からWeb開発について学んでおりました。
この度卒業制作として初めて個人開発したアプリ「Trails」が完成いたしましたのでご紹介いたします。
ちなみにTrailsの由来はTrain(列車)・Rail(線路)・Rails(ruby on rails)の3つ言葉を掛け合わせました。
【Twitter】
https://twitter.com/shunsuke_start
【アプリURL】
https://hidden-sands-43685.herokuapp.com/
【GitHub】
https://github.com/Shunsuke0810/Trails
アプリ制作のきっかけ
みなさん、駅のホームの端っこでこんな光景みたことありませんか?
これは乗継報告と言ってここまで運転してきた運転士が次の運転士にバトンタッチする時に情報を共有している風景なんですね。例えば
- 「この車両はブレーキの効きがイマイチです」
- 「この先◯◯の地点で雨により路面が滑りやすいです。注意して運転してください」
などなど。とても些細な情報なんですが、鉄道運転士という仕事はこう言った車両条件・天候情報など様々な不確定要素を常に考慮し運転することで、世界一と言われるほど時間に正確で安全な運行を実現しています。しかしこの乗継報告、当然1対1の口伝になってしまうので、情報がローカルになってしまったり、ログをとれない、全体で共有されないなどの問題がありました。そこで今回、この情報をオンラインで共有するためのアプリを開発したいと思い制作に至りました。
使用環境
- Ruby 3.0.1
- Ruby on Rails 6.0.5
- PostgreSQL 14.2
主な機能
【投稿機能】
発生時刻、発生内容、車両情報、位置情報等の情報を投稿できます。
【所属部署機能】
ユーザーを所属部署ごとにグルーピングできます。また、投稿をグループごとに表示できます。
例えばこちらの画像のように中央線運転室に所属する佐藤運転士のTOP画面では、同じく中央線運転室に所属する青野運転士・遠藤運転士の投稿が一覧で表示されます。
【コメント機能】
投稿した内容にコメントができます。投稿の内容に関して社員同士でコミュニケーションが取れます。
【ブックマーク機能】
他人が投稿した内容をブックマークできます。自分の業務に関連する内容の投稿等を保存できます。
特に力を入れたポイント
GeocordingAPI,MapsJavaScriptAPIを使用し、投稿内容に位置情報を盛り込みました。ピンのドラックも可能なので住所の割り振られていない不特定の位置情報も投稿可能です。
例えば、運転中に三鷹〜吉祥寺駅間での踏切の不具合を発見した情報を投稿したい場合、以下のような動きになります。
最後に
ここまでご覧いただきましてありがとうございました。
DIVE INTO CODEで学習した4ヶ月間はとても充実しており、メンターのみなさん、同期生のみなさんに何度も助けられました。サポートいただいたみなさん本当にありがとうございました。
また現場の課題解決をテーマにした今回の開発を通じ、顧客に寄り添い課題を解決できるエンジニアになりたいという目標ができました。
まだまだ未熟者ではありますが、ここをスタートに精進して参ります。