ali-ahnaf / ali-ahnaf/pocket_pixel

feat: New transaction type called "Transfer"

未关闭
#19 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
backend epic frontend up for grabs
主要语言
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 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。