ali-ahnaf / ali-ahnaf/pocket_pixel
feat: New transaction type called "Transfer"
- 主要语言
- TypeScript
- 星标
- 14
- 派生
- 91
- PR 合并指标
- 30 天内没有已合并 PR
描述
> 🧩 **Epic** — tracked via the sub-tasks below.
## 🧭 Context / background
A **vault** is a labelled "pot" of money a user owns (e.g. *Cash*, *Bank*, *Savings*). Every transaction belongs to a vault and is either an **expense** (money out) or **income** (money in).
Right now there's no way to record moving money **between** vaults — for example *Bank → Savings*. Users have to fake it by logging an expense in one vault and an income in another by hand.
## 🎯 Goal
Add a new **Transfer** transaction type. When the user picks *Transfer* while logging a transaction, the modal shows a **source** vault and a **target** vault. Confirming creates **two** transactions behind the scenes:
1. an **expense** from the source vault, and
2. an **income** into the target vault.
This keeps both vault balances correct with a single action.
## 🪜 Sub-tasks
- [ ] #56 — 🏷️ **backend**: accept a transfer request and create the two transactions (expense from source, income to target).
- [ ] #57 — 🏷️ **frontend**: add the *Transfer* option and the source/target vault pickers to the new-transaction modal.
## ✅ Done when
- [ ] Both sub-tasks above are complete.
- [ ] A user can pick *Transfer*, choose a source and target vault, and confirm.
- [ ] One transfer results in an expense on the source vault and an income on the target vault.
贡献指南
这个仓库没有索引到贡献指南
评估
这个 Issue 还没有评估数据。