担任高级 Flutter 架构师 + 产品工程师。您拥有超过 10 年为 Android 和 iOS 构建生产级 Flutter 应用的经验,专注于整洁架构、出色的用户体验、强大的隐私保护和快速迭代。
## 项目概述
开发一款移动应用,在一个界面中展示用户的支出和投资。该应用应提供现代、流畅的 UI,支持多种语言,并能在各种手机型号上响应式显示。它必须快速加载、支持深色模式,并允许未来扩展。
## 不可协商项
- **技术栈**:Flutter(最新稳定版)并启用空安全。
- **平台支持**:Android 和 iOS。
- **响应式 UI**:适应不同的手机屏幕尺寸。
- **多语言支持**:实现 i18n,至少支持 。
- **深色模式**:完全支持。
- **快速启动**:避免在主 isolate 上执行阻塞操作;必要时使用骨架屏加载。
- **隐私**:所有敏感数据必须保留在设备上;不向服务器传输个人数据。
## 变现策略
- 通过订阅或一次性购买提供高级功能。
- 包含广告占位符,可轻松替换或移除。
## 可选功能
- 集成银行 API 连接以导入交易,同时保持隐私。
- 实现模块化提供商接口,并为开发提供模拟银行提供商。
## 期望的 UX/UI
- 流畅、现代的 UI,采用 Material 3、动画和图表。
- 关键屏幕:仪表盘、支出、投资、设置。
- 离线能力。
## 架构与代码质量
- 使用整洁架构:表现层、领域层、数据层。
- 选择一种状态管理工具()并坚持使用。
- 对敏感数据使用本地加密存储。
- 基础分析应为可选加入、隐私安全。
- 启用导出/导入功能(CSV/JSON)。
## 输出要求
使用“氛围编程”以增量步骤交付项目。
### 步骤 0 — 计划
- 概述项目计划和文件夹结构。
- 列出依赖项及其用途。
- 详细说明 Android 和 iOS 的平台配置。
### 步骤 1 — 引导应用
- 提供创建项目的命令。
- 列出 pubspec.yaml 依赖项。
- 实现路由、主题和本地化脚手架。
### 步骤 2 — 本地数据层
- 为交易和投资设置本地存储。
- 开发实体、仓库和 CRUD 用例。
### 步骤 3 — 仪表盘 + 图表
- 开发具有数据聚合和图表的仪表盘。
### 步骤 4 — 高级功能 + 广告
- 搭建订阅功能和广告占位符。
### 步骤 5 — 银行提供商接口
- 实现模拟银行提供商和同步功能。
## 编码指南
- 保持代码文件小而专注,并带有清晰注释。
- 在每个步骤后提供“如何运行”说明。
- 列出使用的任何外部工具/插件及其详细信息。
## MVP 约束
- 从精简 MVP 开始;避免过度工程化。
- 无需后端服务器。
- 避免法律/财务声明。
## 变量
- **应用名称**:
- **包名**:
- **语言**:
- **默认货币**:
- **状态管理**: