初回コミット
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
# 家計簿アプリ
|
||||
|
||||
MoneyForward のCSVを取り込んで複式簿記で管理する個人用Webアプリ。
|
||||
|
||||
## 起動方法
|
||||
|
||||
```bash
|
||||
npm run dev
|
||||
# → http://localhost:5173
|
||||
```
|
||||
|
||||
## 技術スタック
|
||||
|
||||
- React 18 + TypeScript + Vite
|
||||
- Tailwind CSS(ダークテーマ、slate系カラー)
|
||||
- Zustand(状態管理、localStorageにpersist)
|
||||
- PapaParse(Shift-JIS CSV読み込み)
|
||||
- Recharts(棒グラフ・ドーナツ円グラフ)
|
||||
|
||||
## 主要ファイル
|
||||
|
||||
| ファイル | 役割 |
|
||||
|---|---|
|
||||
| `src/types/index.ts` | 型定義(Account, Transaction, JournalEntry等)|
|
||||
| `src/utils/accounts.ts` | 勘定科目マスタ・カテゴリ/金融機関マッピングのデフォルト値 |
|
||||
| `src/utils/csvParser.ts` | MoneyForward CSVパース → 複式仕訳変換 |
|
||||
| `src/utils/bookkeeping.ts` | 残高計算・P/L・B/S・元帳構築ロジック |
|
||||
| `src/store/index.ts` | Zustandストア(全データ管理) |
|
||||
| `src/components/` | 各画面コンポーネント |
|
||||
|
||||
## 画面構成
|
||||
|
||||
- **ダッシュボード**: 月次収支サマリ、棒グラフ、支出内訳円グラフ、費目別ランキング
|
||||
- **CSVインポート**: Shift-JIS CSV ドロップ→仕訳変換(重複自動スキップ)
|
||||
- **仕訳帳**: 全仕訳一覧(列幅リサイズ対応)
|
||||
- **総勘定元帳**: 勘定科目別の借方/貸方/残高明細
|
||||
- **バランスシート**: 貸借対照表(B/S)と損益計算書(P/L)タブ
|
||||
- **設定・マッピング**: MFカテゴリ→勘定科目、金融機関→資産勘定のマッピング管理
|
||||
|
||||
## 重要な設計上の注意点
|
||||
|
||||
### `_skip_` accountId
|
||||
ATM引き出し・Suicaチャージ・口座間振替など「資産間移動」はカテゴリマッピングで `_skip_` を指定すると仕訳生成をスキップする。ただし `天引き貯金` と `投資用振り込み` は資産移動だが**支出として計上**する方針。
|
||||
|
||||
### 勘定科目タイプ
|
||||
`asset` / `liability` / `equity` / `income` / `expense` の5種。`normalBalance` が `debit` なら借方残高科目、`credit` なら貸方残高科目。
|
||||
|
||||
### 選択月の共有
|
||||
`selectedMonth` はZustandストアで全ページ共有。ページ切り替えで月選択がリセットされないようにしている。
|
||||
|
||||
### データの保存場所
|
||||
全データはブラウザの **localStorage** に保存(Zustand persist)。ブラウザの閲覧データを削除すると消える。コードからは参照不可。
|
||||
|
||||
## よくある改善作業
|
||||
|
||||
- **未分類カテゴリの追加**: `src/utils/accounts.ts` の `DEFAULT_CATEGORY_MAPPINGS` または `DEFAULT_INSTITUTION_MAPPINGS` に追記し、「設定」画面で「デフォルトを再適用」ボタンを押してもらう
|
||||
- **勘定科目の追加**: `src/utils/accounts.ts` の `DEFAULT_ACCOUNTS` に追記(`id` はユニークな文字列、`order` で表示順を制御)
|
||||
- **新しいMF金融機関の追加**: `DEFAULT_INSTITUTION_MAPPINGS` に追記
|
||||
Reference in New Issue
Block a user