らいむぎばたけ

つかまえなくてだいじょうぶ

はじめての Web サービスを作って公開しました

はじめに

FJORD BOOT CAMPの最終課題で自作の Web アプリ をはじめて作り、「メディレコ」という名前で本日公開しました。本記事は Web アプリの紹介と作成経緯等についてのまとめです。

github.com

自己紹介

@lime1024と言います。非プログラマです。職業は一応エンジニアリングの会社ですが、(毎日、紙の書類とにらめっこして判子を押して PDF 化してファイリングして鍵のついたロッカーに閉まっていたので)プログラミングには全く関係有りません。 2018年5月23日にプログラミングの勉強を開始、2018年8月21日から Rails の勉強を開始 、2019年1月22日に本アプリを rails new しました。

作った Web アプリ

「メディレコ」

f:id:lime1024:20190327131354p:plain

メディレコ」という、医療費控除申請書類をかんたんに作れるアプリを作りました。医療費をメディレコに記録すると、国税庁指定の「医療費集計フォーム」に記入された状態でダウンロードができるので、確定申告のときに読み込みを行うことで簡単に医療費控除の申請ができます。

アプリについての詳細は GitHubREADME.md を見てください。

作った経緯

今年の確定申告(なので去年分)で、はじめて医療費が 10 万円を超えそうだったので、確定申告するぞ〜〜〜と意気込み Google スプレッドシートに自分と旦那の分の医療費を書き溜めていました。が、後から領収書が出てきたときにセルの行を入れ替えたり、病院名を他の行からコピペしたりするのが面倒だったので、折角なのでこれを最終課題の Web アプリの開発の題材にしようと思いました。

やったこと

進め方

構想からデザインを含め実装、デプロイまで、丸二ヶ月で完成しました。タスク管理は GitHubProjects を使って進めました。issue と PR を紐づけて管理できるので使いやすかったです。自分でやりたいことをどんどん issue に書き出していき、バグ、指摘事項やアドバイスも issue に起こし、一つずつ潰していく、を一週間周期で繰り返して進めていきました。

大変だった issue

元々、コントローラに書いていた処理をモデルに切り出しました。コピペくらいでさくっと終わると思っていたのですが、current_userparams がモデルで使えないので、コントローラから渡さないといけなかったり、 respond_to はコントローラに書かないといけなかったりで、結構ハマりました。

楽しかった issue

進めていくのはずっと楽しかったですが、強いていうと...

医療費登録画面から遷移して家族と支払先を登録したときのみ、登録完了後に医療費登録画面に戻るようにしたかったのですが、どのページから遷移したのかの情報を取得する方法がよくわからず難しかったです。

医療費登録画面から家族と支払先に遷移するときのみ URL に from=medical_bill を追加して params[:from] で取得できるようにしました。そこから hidden_field を使って、家族と支払先を登録するときは params[:from] を渡すようにして、家族と支払先を登録するときに params[:family_member][:from]params[:payee][:from]medical_bill が含まれているときは、医療費登録画面に戻る、というようにして、なんとか完成しました(文章化したけど解読難しいですね😇)。

ナンモワカランゼッタイムリという状態から始まったので、この issue はやりきったぜ...という気持ちが強かったです。旦那にヒントとなるキーワードを教えて貰いながら進めました。

さいごに

アドバイスを頂いてから未だ修正できていないところや、これから @machida さんのデザインレビューもあるので、今後もメンテして、大事に育てていきたいなあと思っています🐤。 医療費控除したいな〜でも確定申告ってなんだか面倒くさそ〜〜と思っている人にぜひ使ってほしいなー!と思います。自分が一人目のユーザなので、誰も使わないということは無いので安心ですが...😅

アプリを作るにあたって、せっせこバグを見つけてくれた @kirikiriyamama 、毎週相談に乗って頂いた @komagataさん, @machidaさん、テストかけ〜と念を送ってくれた @yu_suke1994 と、アプリの完成をずっと見守ってくれた @beta_chelsea, @hnmx4, Zenshin.web のみんなには感謝しています🙏

このアプリの完成度で、どこまで評価してもらえるかは分からないですが、転職の足がかりになればいいなと思います。ですので、転職先とバグ報告をお待ちしています!w