DjangoとMDBを使って家計簿アプリ第二弾を作ってみました。
以前公開した家計簿アプリをベースにMDBを使ってマテリアルデザインを取り入れています。
完全にフレームワークの力ですが、以前のものより使い勝手と見栄えが良くなっていると思います。
ちなみに前回はPythonライブラリのplotlyを使ってグラフを出力してみましたが、今回はJavaScriptライブラリのChart.jsを使用しました。
細かい調整や複雑なグラフを作る場合はをplotlyに軍配があがるような気がしますが、Webアプリケーション上での見栄えはChart.jsの方がいいかな、と思います。Chart.jsは特別なことはせずにグラフに動きが出る点も面白いです。
githubに公開しています。
https://github.com/qlitre/django-mdb-kakeibo
モデルですが、以下の構成となっています。
基本的にカテゴリに紐づける形で金額を入力していくシンプルな使用方法です。
入力された値をpythonライブラリのpandasを使って集計処理を行い、適宜グラフデータを作成しています。
支出は年月に加えてキーワードや金額で絞り込めたりと、少し細かく検索できるようにしています。
家計簿をつけていて一番気にするところだと思うので…
収入はレコード数も少ないので、検索にはあまり力を入れておらず、年月の検索のみです。
一般的なサラリーマンですと、月に一度給料が入って、たまにボーナスがある、という感じですので。
地味な点ですが、ヘッダー上のいま見ているページの色を紫にするようにしています。
この家計簿アプリでは資産状況も管理できるようにしています。
例えば現金をいくらもっていて、有価証券の額はいくらで…ということを記録します。
月に一度カテゴリごとに保有している額を入力していく仕様です。
支出、収入、資産それぞれで一覧ページから登録削除ができるようにしています。
以下のgif画像は支出を追加して削除する例です。
カテゴリの登録に関してはDJango管理サイトから行う仕様です。
以下の内容が確認できます。
デフォルトではシステム日付に対応した月が表示されますが、ボタンで前月、次月送りができます。
収入と支出の推移を確認できます。
グラフはカテゴリごとに表示を切り替えたりできます。
こちらは以下の情報が確認できます。
試しにビットコインを追加してみましょう。
django-import-exportを使用して、管理サイトからデータの入出力をできるようにしています。
まずは適当なディレクトリでgit cloneしてください。
git clone https://github.com/qlitre/django-mdb-kakeibo
次にcloneしたディレクトリに移動して、仮想環境を立ち上げてください。
cd django-mdb-kakeibo
python -m venv myvenv
myvenv\scripts\activate
次にライブラリをpip installします。
pip install -r requirements.txt
installが終わったら、modelをmigrateしてsuperuserを作っておきましょう。
python manage.py migrate
python manage.py createsuperuser
カテゴリの登録は管理画面から行っていく仕様です。
とりあえずの初期カテゴリデータを用意していますので、動作確認等にお使いください。
python manage.py loaddata initial.json
settings.pyの以下の項目を環境に合わせて編集ください。
例えば2021年から開始して、4月を期初とするなら以下のようにします。
# 家計簿のスタート年を定義
# 年の絞り込み検索のスタートする年として使用されます。
KAKEIBO_START_YEAR = 2021
# 家計簿の起算月を定義
# 年初比に使用されます。
MONTH_OF_BEGIN_TERM = 4
あとはrunserverして家計簿アプリをお楽しみください。
python manage.py runserver