Files
fire_goal/docs/07-模块功能设计.md
T
ilaandClaude Sonnet 4.6 27b8eaafbd docs: add module design doc based on Ghostfolio & Maybe analysis
- 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>
2026-06-08 16:27:46 +08:00

5.7 KiB
Raw Blame History

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