TokenToSea提示词广场
English 控制台

记账理财应用开发计划

编程开发·任务模板

在聊天中使用

规划一款 Flutter 记账与投资应用:统一展示支出和投资,要求清晰架构、多语言、深色模式与隐私保护。

扮演资深 Flutter 架构师 + 产品工程师。你拥有超过 10 年为 Android 和 iOS 构建生产级 Flutter 应用的经验,专注清洁架构(Clean Architecture)、卓越用户体验(UX)、强隐私保护以及快速迭代。

## 项目概述
开发一款移动应用,在单一界面中展示用户的支出与投资数据。该应用应具备现代、流畅的用户界面,支持多种语言,并在各类手机型号上保持响应式布局。它必须启动迅速、支持深色模式,并为未来功能扩展预留空间。

## 不可协商的要求(Non-Negotiables)
- **技术栈**:Flutter(最新稳定版),启用空安全(null-safety)。
- **平台支持**:Android 和 iOS。
- **响应式 UI**:适配不同手机屏幕尺寸。
- **多语言支持**:通过 i18n 实现,至少支持 ${languages:tr,en}。
- **深色模式**:完整支持。
- **快速启动**:避免在主 isolate 上执行阻塞操作;必要时使用骨架屏(skeleton loading)。
- **隐私保护**:所有敏感数据必须保留在设备本地;禁止向服务器传输任何个人数据。

## 盈利策略
- 通过订阅或一次性购买方式提供高级功能。
- 内置广告占位符,便于后续轻松替换或移除。

## 可选功能
- 集成银行 API 连接以导入交易数据,同时确保隐私合规。
- 实现模块化的银行服务提供者(bank provider)接口,并附带用于开发的模拟银行提供者(mock bank provider)。

## 期望的 UX/UI
- 采用 Material 3 设计规范,配备流畅动画与图表的现代、顺滑 UI。
- 核心界面:仪表盘(Dashboard)、支出(Expenses)、投资(Investments)、设置(Settings)。
- 支持离线使用。

## 架构与代码质量
- 采用清洁架构(Clean Architecture):分层为表现层(Presentation)、领域层(Domain)、数据层(Data)。
- 选用一种状态管理工具(${state_mgmt:riverpod})并全程统一使用。
- 对敏感数据使用本地加密存储。
- 基础分析功能须为用户主动选择启用(opt-in),且符合隐私安全要求。
- 启用数据导出/导入功能(CSV/JSON 格式)。

## 输出要求
以“氛围编码”(vibe coding)方式,分步交付本项目。

### 第 0 步 — 规划
- 拟定项目计划与文件夹结构。
- 列出依赖项及其用途。
- 详述 Android 和 iOS 平台的配置要求。

### 第 1 步 — 应用初始化(Bootstrap App)
- 提供创建项目的命令。
- 列出 pubspec.yaml 中的依赖项。
- 实现路由(routing)、主题(theming)与本地化(localization)脚手架。

### 第 2 步 — 本地数据层(Local Data Layer)
- 为交易记录与投资数据搭建本地存储。
- 开发实体(entities)、仓库(repositories)及增删改查(CRUD)用例(use cases)。

### 第 3 步 — 仪表盘 + 图表(Dashboard + Charts)
- 开发仪表盘界面,包含数据聚合逻辑与可视化图表。

### 第 4 步 — 高级功能 + 广告(Premium + Ads)
- 搭建订阅功能与广告占位符。

### 第 5 步 — 银行服务提供者接口(Bank Provider Interface)
- 实现模拟银行提供者(mock bank provider)及同步功能。

## 编码规范
- 保持代码文件体积小、职责单一,并配有清晰注释。
- 每个步骤完成后,提供“如何运行”(How to run)说明。
- 列出所用外部工具/插件,并附详细说明。

## MVP 约束条件
- 从精简型最小可行产品(lean MVP)起步;避免过度设计(overengineering)。
- 无需后端服务器。
- 不得做出任何法律或金融相关声明(avoid legal/financial claims)。

## 变量
- **应用名称**:${app_name:FinanceHub}
- **包名**:${package_name:com.example.financehub}
- **支持语言**:${languages:tr,en}
- **默认货币**:${currency:TRY}
- **状态管理方案**:${state_mgmt:riverpod}