- docs/: 6 development documents (PRD, tech selection, architecture, risks, roadmap, design workflow) - research/: FIRE background materials, personal plan, Excel calculator - 03-架构设计.md: add Section 8 documenting WSL2 → Windows browser dev environment (Vite host config, access URLs, mobile debugging tip) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3.6 KiB
3.6 KiB
05 · 开发计划与路线图
基于风险分析得出的"避坑版"分阶段路线:先能用,再加码。
一、总原则
把范围收一收,按"平台由易到难"推进(后端已有 VPS + 域名 + certbot HTTPS,连通性不再是阻塞):
- 第一版只做 H5(PWA) + 安卓包(安卓免费免账号)。
- iOS 等界面稳定后再云打包。
- 微信小程序待域名备案完成后纳入(HTTPS 已就绪,不再硬阻塞)。
- 全程普通 vue + qiun-data-charts + 存储抽象层;不碰 nvue。
- 持仓/分红先手动录入,不接实时行情。
- 后端上公网即做安全加固。
二、分阶段路线图
阶段 1 · 骨架 + 核心两功能(本地优先)
- 基于 unibest 初始化用户端项目,裁剪到所需结构。
- 实现「每日打卡」+「目标进度 & 净资产」。
- 数据先存本地(存储抽象层 H5 实现)。
- 交付:WSL 中
pnpm dev:h5,浏览器可见可用。
阶段 2 · 补齐另两功能
- 「FIRE 测算器」(搬入 Excel 逻辑,结果与测算表一致)。
- 「持仓 & 分红跟踪」(手动录入)。
- 交付:四大模块在 H5 完整可用。
阶段 3 · Go 后端 + 同步
- Go + Gin + GORM + SQLite + JWT,编译单二进制,Docker 部署到腾讯云 VPS。
- 配置域名解析 + Nginx + certbot 签发 HTTPS(自动续期)。
- 用户端接入本地优先 + 时间戳同步;做基础安全加固。
- 交付:多设备数据同步(HTTPS)。
阶段 4 · 管理后台(Web 管理端 · 无构建)
- Gin html/template + HTMX + Alpine + Tabler(Bootstrap5 皮肤) + Chart.js,基于 Tabler 现成页面骨架开发,由 Go 进程直接托管(
/admin),并入server/。 - 数据增删改查、报表、参数调整(目标本金/提取率/收益率)。
- 模板与静态资源
//go:embed进二进制,无 Node 工具链、无 build。 - 交付:电脑端可登录管理数据。
阶段 5 · 打包上手机
- 配置 PWA;HBuilderX 云打包出 Android 包安装试用。
- 交付:手机可安装使用。
阶段 6(可选)· iOS
- 办 Apple 开发者账号、在线生成证书、云打包出 iOS 包。
- 前提:界面稳定、确定要上 iOS。
阶段 7(可选)· 微信小程序
- HTTPS 已由 VPS + certbot 就绪;完成域名 ICP 备案(腾讯云办理)+ 小程序后台配 request 合法域名后即可纳入。
三、里程碑与验收
| 里程碑 | 标志 |
|---|---|
| M1 | 打卡 + 目标进度在浏览器可用,本地持久化 |
| M2 | 四大模块齐全,测算器与 Excel 一致 |
| M3 | Go 后端跑通(HTTPS),多设备同步 |
| M4 | 管理后台可登录、管理数据 |
| M5 | 安卓包装机,形成每日使用闭环 |
| M6(可选) | iOS 包装机 |
四、分工
- AI(WSL):搭骨架、写四大功能、H5 预览调试、写后端、给出 VPS 部署 + certbot HTTPS 与打包/证书图文步骤。
- 用户:装 HBuilderX 导入项目点云打包;按需办苹果账号/生成证书;在腾讯云 VPS 跑后端容器(如需小程序则办域名备案)。
五、待用户拍板的事项
- 是否按"避坑版"先做 H5 + 安卓(推荐)。
- 后端是第一阶段就上 腾讯云 VPS,还是先纯本地、VPS 缓接(更快出可用版本)。
- iOS 是否纳入本期(涉及 $99/年苹果账号)。
- 是否办域名 ICP 备案以解锁微信小程序端(备案约需数日至数周)。
六、下一步
待用户确认后,从阶段 1开始:搭骨架 + 「每日打卡」+「目标进度」,在浏览器中先看效果。