- maps gaps in current app vs reference projects - redefines 4 tabs: 总览/账本/投资/测算 - redesigns checkin: 3 daily habits + 1 monthly task - adds 3-scenario FIRE projection design - documents data flow between modules Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
5.7 KiB
5.7 KiB
07 · 模块功能设计(参考 Ghostfolio & Maybe 梳理)
基于对 Ghostfolio 和 Maybe 两款开源 FIRE/理财 App 的分析,对原 PRD 四大模块进行功能细化与重新组织。
本文是01-需求文档-PRD.md的功能细化版,以此为准开发。
一、参考项目核心设计逻辑
Ghostfolio
- 净资产曲线是中心,所有功能围绕它展开
- 每笔买卖/股息/转账都是"活动记录",由此自动算出收益率、配置比例
- FIRE 独立模块:配置安全提取率 → 自动算退休日期
- X-Ray 功能:透视持仓底层,发现重叠和失衡
Maybe
- 净值追踪 + 负债管理(净资产 = 资产 − 负债,两侧都要记)
- 收支交易记录 → 才能算出真实储蓄率
- 退休预测 + 投资收益情景模拟
两者共同揭示的现有 App 缺口
| 缺口 | 影响 |
|---|---|
| 无负债字段 | 净资产 = 资产 − 0,实际高估 |
| "记账"只是勾选,无金额 | 储蓄率无法自动计算,只能手填 |
| 持仓无资产类别分类 | 无法看配置比例 |
| 进度页无曲线图 | 只有列表,趋势不直观 |
| 测算只有单一情景 | 无法感知收益率/定投额的敏感度 |
二、Tab 结构调整
原 4 Tab:打卡 / 进度 / 测算 / 持仓
调整为:总览 / 账本 / 投资 / 测算
打卡从独立 Tab 缩小为「总览」页内的嵌入卡片,降低视觉权重;
新增「账本」Tab,承接真实收支记录功能。
三、各模块详细功能
Tab 1:总览(Dashboard)
参考:Ghostfolio Overview + 原打卡页
净资产概览区
- 当前净资产数字(资产 − 负债)
- 与上月对比的变化额和变化率(↑ ¥2,300 / +3.2%)
- FIRE 进度条 + 百分比 + 预计达成年月
净值曲线
- 折线图,按月展示历史净资产(qiun-data-charts)
- 后续可叠加「目标线」辅助判断偏离
关键指标卡片
- 本月储蓄率(来自账本模块)
- 距 FIRE 剩余月数(来自测算模块)
- 本月定投执行状态
今日打卡(嵌入卡片)
- 见下方「打卡重新设计」章节
Tab 2:账本(Ledger)
参考:Maybe 的 Transaction History + Budgeting
让「记账」从勾选行为变成真实数据
快速记账
- 金额 + 日期 + 类别 + 备注
- 类别:收入 / 必要支出 / 可选支出 / 冲动消费
月度汇总
- 总收入、总支出、净储蓄额
- 储蓄率 = (收入 − 支出)/ 收入 × 100%(自动计算,不再手填)
净资产快照录入(从进度页移入)
- 录入当前总资产(元)
- 录入当前负债(元,可选)
- 净资产 = 资产 − 负债,自动写入进度曲线
历史收支列表
- 按月筛选,支持删除
Tab 3:投资(Portfolio)
参考:Ghostfolio Portfolio + X-Ray
持仓列表
- 手动录入:名称、当前市值、买入成本
- 显示:浮盈金额、浮盈百分比
- 支持编辑 / 删除
资产配置
- 录入时选择资产类别:A 股 / 美股ETF / 基金 / 债券 / 现金等价物 / 其他
- 配置饼图(各类别占比)
- 总市值、总成本、总浮盈
与净资产的关联
- 投资资产占净资产比例(投资化程度)
- 现金/投资比例参考
⚠️ 本期不接实时行情,全部手动更新市值(见风险文档)。
Tab 4:测算(FIRE Calculator)
参考:Ghostfolio FIRE Section + cFIREsim 情景模拟
Barista FIRE 逻辑展示
- 年支出 − 兼职年收入 = 投资需覆盖金额
- ÷ 安全提取率 = 目标本金
- 公式透明展示,参数可调
达成时间线
- 预计达成日期(年 + 月)
- 剩余年数和月数
- 基于复利公式:FV = PV·(1+r)ⁿ + PMT·[(1+r)ⁿ−1]/r
三档情景对比
| 情景 | 年化收益率 | 预计达成 |
|---|---|---|
| 保守 | 4% | 自动计算 |
| 基准 | 6% | 自动计算 |
| 乐观 | 8% | 自动计算 |
可调参数(持久化到 settings store)
- 每月定投额
- 年化收益率(基准档)
- 年支出
- 兼职年收入
- 安全提取率
- 目标本金(可手动覆盖)
四、打卡重新设计
问题
原 4 项中「定投到账」不适合每日打卡(定投按月执行),导致每天随便勾。
新方案:分频率打卡
每日习惯(3 项,天天可勾)
| 项目 | 说明 |
|---|---|
| 今日收支已记录 | 触发去账本模块记一笔 |
| 无计划外支出 > 200 元 | 冲动消费自查 |
| 看了今日净值/进度 | 保持目标感 |
月度任务(1 项,每月 1 日出现,勾一次完成)
| 项目 | 说明 |
|---|---|
| 本月定投已执行 | 记录当月定投是否到账 |
完成规则
- 今日打卡:3 项全勾 = allDone,参与连续天数和月完成率统计
- 月度任务:独立显示,不影响每日 allDone
五、数据流关系
账本(收支记录)
└─→ 月储蓄率 ──→ 总览关键指标
└─→ 净资产快照 ──→ 净值曲线 ──→ 总览图表
投资(持仓)
└─→ 总市值 ──→ 净资产参考(手动对齐)
设置(settings store)
└─→ 测算参数 ──→ FIRE 测算 ──→ 预计达成日期 ──→ 总览展示
六、开发优先级(接续阶段 2 之后)
| 优先级 | 内容 | 所在阶段 |
|---|---|---|
| P0 | 打卡 3 项重构 + 月度任务 | 立即 |
| P0 | 测算页三档情景对比 | 阶段 2 补充 |
| P1 | 投资页资产类别 + 配置饼图 | 阶段 2 补充 |
| P1 | 账本模块(快速记账 + 月汇总) | 阶段 3 |
| P2 | 总览 Dashboard + 净值曲线图 | 阶段 3 |
| P3 | 负债字段 | 阶段 3 |