はじめに
個人開発でiOSアプリ「マネーライフ」をリリースしました。日本株・米国株・投資信託の保有銘柄を管理し、損益をリアルタイムで自動計算する資産管理アプリです。本記事では技術的な実装ポイントをまとめます。
使用技術
- Flutter(iOS向け)
- 状態管理: Provider / Riverpod
- グラフ描画: fl_chart
- データ取得: Yahoo Financeの価格データ
- ローカル永続化: SharedPreferences / SQLite
実装ポイント
1. 30秒ごとの株価自動更新
日本株・米国株の現在株価を30秒間隔でポーリングしています。Timer.periodicで定期実行し、取得した価格を状態管理に流してUIを再描画する構成です。為替レート(USD/JPY)も同時に取得し、米国株は円換算して統一表示します。
2. 損益計算ロジック
取得単価と現在価格から評価損益・損益率を計算します。米国株は為替を掛けて円換算し、日本株・投信と合算できるようにしています。計算結果はモデルクラスに集約し、UI側では表示のみに専念させました。
3. ポートフォリオ分析
fl_chartを使い、資産クラス別のドーナツグラフと月次資産推移の折れ線グラフを実装。保有上位銘柄ランキングも算出しています。
4. テーマ切り替え
ミニマル(白ベース)とリッチ(ダークネイビー)の2テーマをThemeDataで管理。ユーザー設定として永続化しています。
工夫した点
- 3画面構成(ホーム・保有一覧・分析)に絞り、情報設計をシンプルに
- ロング押しで銘柄削除など、iOSらしい操作感を意識
- 取引時間外や週末は前日終値を表示するフォールバック処理
おわりに
価格データはYahoo Financeより取得しています。投資判断はご自身の責任でお願いします。
App Store: https://apps.apple.com/jp/app/id6816772304