86 lines
2.0 KiB
Markdown
86 lines
2.0 KiB
Markdown
# PRD - Asset Tracker (MVP)
|
||
|
||
## 1. 项目目标
|
||
|
||
构建单用户个人资产管理系统,统一记录现实资产和网络资产,提供资产统计与到期提醒能力。
|
||
|
||
## 2. MVP 功能边界
|
||
|
||
### 2.1 In Scope
|
||
|
||
1. 资产分类管理
|
||
2. 资产新增、查询
|
||
3. 仪表盘汇总:
|
||
- 总资产(按记录金额直接累加)
|
||
- 分类占比
|
||
- 未来30天到期资产清单
|
||
4. 定时提醒扫描:
|
||
- 每小时扫描一次未来 30/7/1 天到期资产
|
||
- 首版先日志输出提醒事件
|
||
|
||
### 2.2 Out of Scope
|
||
|
||
- 多用户协作
|
||
- 自动估值源接入(股票/币价 API)
|
||
- 复杂权限系统
|
||
- 导入导出与财务报表
|
||
|
||
## 3. 用户故事
|
||
|
||
1. 作为用户,我希望快速记录资产,了解当前资产分布。
|
||
2. 作为用户,我希望在关键资产到期前得到提醒,减少忘记续费风险。
|
||
3. 作为用户,我希望看到未来30天到期资产列表,做提前规划。
|
||
|
||
## 4. 核心流程
|
||
|
||
### 4.1 新增资产
|
||
- 选择/创建分类
|
||
- 输入资产基础信息(名称、数量、单价、币种、到期时间)
|
||
- 系统保存并可在列表中查看
|
||
|
||
### 4.2 资产列表
|
||
- 查看所有有效资产
|
||
- 支持按分类过滤(MVP 可选,先预留参数)
|
||
|
||
### 4.3 到期提醒扫描
|
||
- cron 每小时触发
|
||
- 扫描未来30天内到期资产
|
||
- 输出提醒日志(含资产名、到期日期、剩余天数)
|
||
|
||
## 5. 数据模型(MVP)
|
||
|
||
### categories
|
||
- id
|
||
- name
|
||
- type (`real` / `digital`)
|
||
- color
|
||
- created_at
|
||
- updated_at
|
||
|
||
### assets
|
||
- id
|
||
- name
|
||
- category_id
|
||
- quantity
|
||
- unit_price
|
||
- total_value
|
||
- currency
|
||
- expiry_date(可空)
|
||
- note
|
||
- status (`active` / `inactive`)
|
||
- created_at
|
||
- updated_at
|
||
|
||
## 6. 非功能需求
|
||
|
||
1. 可部署性:单二进制 + SQLite
|
||
2. 可维护性:分层结构(api/service简化为handler+repo)
|
||
3. 可扩展性:预留 reminders 表与通知通道模块
|
||
|
||
## 7. 验收标准
|
||
|
||
- 能通过 API 创建分类和资产
|
||
- 能通过 API 获取资产列表和仪表盘汇总
|
||
- 服务启动后 cron 每小时运行提醒扫描并输出日志
|
||
- OpenAPI 文档与实现字段一致
|