初めに
こんにちは。
当記事は独学・未経験者がポートフォリオを兼ねてWEBアプリを作った、ご紹介させて頂きたいと思います。
昨今、未経験者が作成したポートフォリオ作成記事も多く存在するので、何番煎じかにはなってしまいますが、
この記事も同じ初学者の方の参考になればうれしく思います
概要
共同口座専用の家計簿アプリ「キョウドウコウザ」
http://www.kyodokoza.com/
シンプルかつ見やすさにこだわった「共同口座(共用口座・共同財布)向けの家計簿アプリ」です。
家計簿アプリは世の中に多々ありますが、私個人に合うものがなかったため自作しました。また、同様の悩みを抱える方にお使いいただければと思っております。
工夫した点
ユーザー目線
- スマホで利用することが多くなることを想定し、レスポンシブ化
- 夫婦二人で使うことにこだわりたかったので、ユーザーの交流などはできない仕様に。また、登録作業をできうる限りセキュリティに配慮しつつ、シンプルにした
(2人が会員登録→片方が他方の認証コードとアドレスを入力) - 入力のモチベーションアップのため、入力履歴の可視化
- 入力作業の効率化のため、支出のテンプレート機能を導入。また、テンプレート化しても毎月の額が変動する(電気代や携帯料金等)ことを想定し、テンプレートとして登録された支出の額を修正し、選択した上で支出に反映。
開発者目線
- CircleCIでCI/CDパイプラインの構築
- dockerのコンテナをDB/Rails/webpack-dev-serverの3コンテナ構造とし、ホットリロードで開発効率化
アプリ作成の経緯
現状
夫婦で、共同口座形式で家計を運用してます。
月初に夫婦それぞれの口座から、共同口座に定額入金
→普段は個人口座/個人財布から出金
→月末にレシートや領収書を元に共同口座から清算
課題
- 清算作業が月末に偏るため、ヌケモレ発生する。
- 月末以外は、夫婦合わせて現状どれくらい支出があるかわからない
その後いくつかの家計簿アプリやエクセルを使いましたが、そこでも課題を感じました。
- 写真の画像解析で自動入力→ 解析制度が悪い。
- 料金がかかる
- 作業が属人化する(夫婦2人のコスト意識向上につながらない)
目標
- 随時支出の記録を行い、月末以外でも支出の合計を把握しやすいようにする
- 夫婦2人で手軽に入力作業ができるようにする
- 今後複雑な解析をしたいと考えた時のために、データをエクセルと統合できるようにする
実装機能
基本機能
- ゲストログイン機能
- 会員登録、家族登録、ログイン
- メールを用いたパスワードリセット機能
記録機能
- ユーザ・家族情報の編集、削除
- カテゴリ登録、編集、削除
- 目標額の設定、編集
- 支出の登録、編集、削除
- 収入の登録、編集、削除
- 毎月支出されることが多い項目(固定費)の登録、編集、削除
集計・見える化機能 等
- 支出・収入の一覧、ソート機能(カテゴリ毎、ユーザー毎)
- 月毎の支出の集計(カテゴリ毎、ユーザー毎、対目標額)
- 月毎の比較(支出、収入)
- 残高表示
- エクセル出力機能(単月出力・範囲指定による複数月出力)
- メールでの毎週のレポート機能
- 入力履歴の可視化
- SNSシェアボタン
使用技術
フロントエンド
- HTML/CSS
- Javascript
- Bootstrap 5.1.0
- chart.js
バックエンド
- Ruby 2.7.4
- Ruby on Rails 6.1.4
- RSpec
インフラ・開発環境
- Docker/Docker-compode
- CircleCI(CI/CD)
- Heroku
- SendGrid(mailer)
主要gem
- chartkick(グラフの描画)
- caxlsx(excel出力)
- rspec(テスト)
- whenever(バッチ処理 / 定期メール配信等)
ER図
参考情報:私のこれまでの学習履歴
29歳・大学院卒です。
そんな私ですが「Webエンジニア」という職種を目指すきっかけがあり、2021年3月よりプログラミング学習を開始しました。
おおよそ以下のようなスケジュールで学習を進めていました。
離職しながらの学習だったのですが、家庭の事情で1日平均5時間程度のみ作業にあてていました。
期間は、ざっくり7か月です。
- 2021/3: HTML/CSS(Progate)
- 2021/4: Javascript(Progate)
- 2021/5: 基本情報技術者試験
- 2021/6~7: Ruby/rails(railsチュートリアル)
- 2021/8: React基礎(Progate等)、Docker
- 2021/9: 本アプリ作成
さいごに
結婚されてる方やカップルの方は、
ぜひキョウドウコウザを使っていただけると幸いです。
そして、本記事のコメントや私のツイッターあてにコメントいただけると嬉しいです。
忌憚なき意見を頂戴いただけると幸いです。