家計管理補助ツール
■ツールの活用目的: 個人的に利用している家計簿アプリで、月ごとの支出の増減が視覚的にわかりにくかったので、グラフで表示できるようにしたかったことと、将来に向けた貯蓄で何か月生活できるかを割り出せるようになればいいなと思い、作成しました。 ■機能概要: 月ごとの出費を登録、項目ごとに支出の変遷が分かるように棒グラフで表示できる機能を実装。また、支出の平均額を計算して、現在の預金残高を入力すると何か月間無収入で生活ができるかを算出する機能も実装。 ■テストについて メンターと相談して、機能要件が満たされているかのチェックだけを実施しております。(登録、読込、更新、削除ができているか、グラフ描画や計算は行われているか、エラーメッセージの出力が行われるか) なお、実施にあたり、ツール等は用いておりません。 ■開発において学んだ点 ・フレームワーク(Laravel)の便利さ →ログイン機能や、入力チェックの作成、SQL文の発行など、実装したい機能や何度も作らねばならない部分を簡単に作れるのは大きいと感じました。 ・仕様をまとめた文書の大切さ →例えば、金額入力時は0を最初に入れた数値を受け付けていいのか、といった部分をあいまいにして、後で違和感に気づくことがあったので、最初のアイディア出しの時点で、きちんと文書にまとめたものを作って、作成途中で立ち返ることができるようにする必要があると感じました。 ■工夫した点 ・項目追加を簡単にできるようにしたこと →項目追加をする際に修正が発生する個所については、コメントで修正する旨を記載しております。 また、グラフ作成の処理について、最初は1項目について、1メソッド、1ビューファイルを用意していたのですが、共通処理をまとめたり、route関数を用いる際にパラメータ(例:['content' => 'food'])を渡すことで、必要なビューファイルやメソッドを少なくすることができました。 (route関数にパラメータを持たせる方法は、メンター様からアドバイスを頂きました) ・できる限り初期値を持たせることで、入力エラーが発生しないようにしたこと →入力フォームに、最初から入力エラーになりにくくなるよう、できるだけ初期値を設定しました。 (支出登録画面や、固定費選択画面など) なお、入力エラーになる場合はエラーメッセージを出力するように作成しております。 ■難しかった点 ・エラーへの対処 →作成終盤まで一人で作業していたため、エラーメッセージが出たりしたときはどうしたら対応できるかが分からなくて手が止まることが多かったです。 そのたびに、LaravelやPHPの公式ドキュメントを参照したり、エラーメッセージを検索して関連しそうなページを探し、対処法を試してみました。関連ページを参照する際にも、バージョンやOSの違いなど、何か条件に違いがないかを確認して進めてから、エラーをクリアしていきました。 ■ソースコード https://github.com/HIro-im/budget2_php.git