【要約】StreamlitとSQLiteで収支管理アプリを作った方法【Python初心者】 [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
Python初心者の個人事業主が、自身の収支を効率的に管理する仕組みを求めていた。しかし、従来のWeb開発手法では学習コストが非常に高いという課題に直面した。
- ・HTMLやCSS、JavaScriptといったフロントエンド技術の習得が必要。
- ・Webサーバーの構築やデータベース管理の知識が求められる。
- ・個人開発において、これら全ての技術を習得する時間は限られている。
- ・既存の会計ソフトでは、自身の業務フローに合わない場合がある。
- ・手動でのExcel管理は、入力ミスや集計漏れのリスクがある。
// Approach
開発者は、学習コストを最小化するためにPythonのみで完結する技術スタックを選択した。フロントエンドとバックエンドの境界を意識せず、迅速に実装を進める手法を採用している。
- ・Streamlitを用いて、Pythonコードのみで直感的なUIを構築。
- ・SQLiteを採用し、サーバー不要のローカルDB環境を構築。
- ・Pathlibを用いて、データベースファイルのパス管理を堅牢化。
- ・Plotlyを導入し、収支状況をインタラクティブなグラフで可視化。
- ・Pythonの標準ライブラリを活用し、依存関係を最小限に抑制。
// Result
開発の結果、個人事業主が日常的に利用可能な収支管理システムが完成した。これにより、複雑なWeb技術を介さずに、以下の機能が手元で動作するようになった。
- ・収入および経費の入力と、SQLiteへの確実な保存。
- ・月次レポートの作成と、Excel形式でのエクスポート。
- ・Plotlyを用いた、月次・年次の収支状況の視覚的把握。
- ・確定申告を見据えた、チェックリスト機能の提供。
Senior Engineer Insight
> 開発体験(DX)の観点では、プロトタイプ制作において極めて優れた選択である。Streamlitは迅速なUI構築を可能にするが、ステート管理や同時実行制御には注意が必要だ。SQLiteは単一ユーザーのローカル利用には適しているが、マルチユーザー環境ではロック問題が発生する。本構成は、社内向けの簡易ツールや、個人のデータ分析ダッシュボードとしての利用に限定すべきである。