1. 预算管理界面 - 创建 BudgetScreen 预算管理主界面 - 支持总览、分类预算、成员预算三个标签页 - 实现预算状态可视化(进度条、超支提醒) - 预算项目的启用/禁用切换 2. 预算编辑功能 - 创建 BudgetEditDialog 预算编辑对话框 - 支持设置预算类型、金额、预警阈值 - 分类预算和成员预算的选择器 - 自动设置月度周期 3. 业务逻辑 - 创建 BudgetViewModel 管理预算状态 - 实现预算的创建、更新、删除功能 - 预算状态的实时计算和更新 4. 导航集成 - 在设置页面添加预算管理入口 - 更新导航系统支持预算管理界面 - 添加预算管理路由 5. 文档更新 - 更新 README 版本历史 - 标记预算管理功能为基本完成 - 更新功能进度状态 注:界面已完成,待实现预算超支提醒和分析报告功能 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
220 lines
5.8 KiB
Markdown
220 lines
5.8 KiB
Markdown
# 轻记账 (Lightweight Bookkeeping)
|
||
|
||
一个轻量级的个人记账应用,专注于隐私和离线使用。
|
||
|
||
## 📖 项目概述
|
||
|
||
本项目是一个使用 Kotlin 和 Jetpack Compose 开发的 Android 记账应用,采用 MVVM 架构,提供简洁直观的用户界面和丰富的记账功能。
|
||
|
||
## ⭐️ 主要特性
|
||
|
||
- 🔒 完全离线运行,无需网络连接
|
||
- 📱 极简权限要求,仅使用必要的系统权限
|
||
- 💰 支持收入和支出记录
|
||
- 👥 支持多人记账
|
||
- 📊 按日期和类别统计
|
||
- 🔐 备份文件加密保护
|
||
- 📅 自定义月度记账周期
|
||
- 💼 预算管理(开发中)
|
||
|
||
## 🛠 技术栈
|
||
|
||
- 💻 开发语言:Kotlin
|
||
- 🎨 UI 框架:Jetpack Compose
|
||
- 🏗️ 架构模式:MVVM
|
||
- 💾 数据存储:Room Database
|
||
- 💉 依赖注入:Hilt
|
||
- ⚡️ 异步处理:Kotlin Coroutines
|
||
|
||
## 🗺 开发路线图
|
||
|
||
### 0. 基础记账 (已完成 ✨)
|
||
- [x] 收入/支出记录管理
|
||
- [x] 分类管理系统
|
||
- [x] 自定义日期选择器
|
||
- [x] Material 3 设计界面
|
||
- [x] 深色/浅色主题切换
|
||
- [x] 主题色自定义
|
||
- [x] 月度记账开始日期
|
||
|
||
### 1. 成员系统 (已完成 🎉)
|
||
- [x] 成员添加/编辑/删除
|
||
- [x] 记账时选择相关成员
|
||
- [x] 主页账单修改相关成员
|
||
- [x] 成员消费统计
|
||
|
||
### 2. 图表分析 (已完成 🎉)
|
||
- [x] 支出/收入趋势图表
|
||
- [x] 分类占比饼图
|
||
- [ ] 月度/年度报表
|
||
- [x] 成员消费分析
|
||
- [x] 自定义统计周期
|
||
|
||
### 3 图标美化计划 (已完成 🎉)
|
||
- [x] 食品类图标 (餐饮、零食、饮料等)
|
||
- [x] 交通类图标 (公交、打车、加油等)
|
||
- [x] 购物类图标 (超市、数码、服装等)
|
||
- [x] 居住类图标 (房租、水电、物业等)
|
||
- [x] 医疗类图标 (药品、诊疗、保健等)
|
||
- [x] 娱乐类图标 (游戏、电影、旅游等)
|
||
- [x] 学习类图标 (书籍、课程、文具等)
|
||
- [x] 其他类图标 (礼物、捐赠、其他等)
|
||
- [x] 收入类图标 (工资、奖金、理财等)
|
||
- [x] 成员图标 (家人、朋友、同事等)
|
||
|
||
### 4. 数据管理 (已完成 🎉)
|
||
- [x] 导出 CSV/Excel 功能
|
||
- [x] 数据导入
|
||
- [x] 数据迁移工具
|
||
- [x] 定期自动备份
|
||
- [x] 备份加密功能
|
||
|
||
### 5. 预算管理 (基本完成 ✨)
|
||
- [x] 预算数据模型设计
|
||
- [x] 数据库架构实现
|
||
- [x] 预算管理界面
|
||
- [x] 月度预算设置
|
||
- [ ] 预算超支提醒
|
||
- [x] 分类预算管理
|
||
- [x] 成员预算管理
|
||
- [ ] 预算分析报告
|
||
|
||
### 6. 体验优化 (持续进行 🔄)
|
||
- [x] 深色模式支持
|
||
- [ ] 手势操作优化
|
||
- [ ] 快速记账小组件
|
||
- [ ] 多语言支持
|
||
- [ ] 自定义主题
|
||
|
||
### 7. 性能提升 (持续进行 ⚡️)
|
||
- [ ] 大数据量处理优化
|
||
- [ ] 启动速度优化
|
||
- [ ] 内存使用优化
|
||
- [ ] 缓存策略优化
|
||
- [ ] 数据库查询优化
|
||
|
||
## 🌲 分支管理
|
||
|
||
- `master`: 稳定主分支
|
||
- `develop`: 主开发分支
|
||
- `feature/*`: 功能开发分支
|
||
- `release/*`: 版本发布分支
|
||
- `hotfix/*`: 紧急修复分支
|
||
|
||
## 🔄 提交规范
|
||
|
||
提交信息应遵循以下格式:`<type>: <description>`
|
||
|
||
### 提交类型(Type)
|
||
|
||
- `feat`: 新功能(feature)
|
||
- `fix`: 修复bug
|
||
- `docs`: 文档更新(documentation)
|
||
- `style`: 代码格式(不影响代码运行的变动)
|
||
- `refactor`: 代码重构(既不是新增功能,也不是修复bug)
|
||
- `perf`: 性能优化
|
||
- `test`: 测试相关
|
||
- `build`: 构建相关
|
||
- `ci`: 持续集成
|
||
- `chore`: 构建过程或辅助工具的变动
|
||
- `revert`: 回退提交
|
||
- `improvement`: 改进
|
||
|
||
## 📝 版本历史
|
||
|
||
### v1.5 (开发中)
|
||
- 预算管理功能
|
||
- 预算数据模型设计
|
||
- 支持总预算、分类预算、成员预算
|
||
- 数据库架构实现(升级到版本6)
|
||
- 预算管理界面设计
|
||
- 预算编辑对话框
|
||
- 预算状态可视化(进度条、超支提醒)
|
||
- 预算导航集成
|
||
|
||
### v1.4
|
||
- 数据安全功能
|
||
- 备份文件加密(使用Android Keystore)
|
||
- 支持加密CSV/Excel导出
|
||
- 自动检测和解密加密备份
|
||
- 设置页面加密开关
|
||
- 月度记账优化
|
||
- 自定义月度开始日期(1-28号)
|
||
- 所有统计基于自定义周期
|
||
|
||
### v1.3
|
||
- 图标美化计划
|
||
- 增加图标美化
|
||
- 支持图标选择
|
||
|
||
### v1.2.0 - v1.2.4
|
||
- 分类数据可视化
|
||
- 支出/收入分类饼图展示
|
||
- 分类占比详细统计
|
||
- 分类数据交互和筛选
|
||
- 成员数据可视化
|
||
- 成员消费饼图展示
|
||
- 成员支出占比统计
|
||
- 成员数据交互和筛选
|
||
- 趋势分析
|
||
- 日收支趋势折线图
|
||
- 收入支出双线对比
|
||
- 支持深色/浅色主题
|
||
- 图表交互和缩放
|
||
- 数据筛选
|
||
- 支持按日期范围筛选
|
||
- 支持按收入/支出类型筛选
|
||
- 支持按成员/分类筛选
|
||
|
||
### v1.1.0
|
||
- 成员管理功能
|
||
- 成员添加/编辑/删除
|
||
- 记账时选择相关成员
|
||
- 成员消费统计
|
||
- UI/UX 优化
|
||
- 记录展示优化
|
||
- 月度统计界面
|
||
- 分组展示优化
|
||
- 数据管理
|
||
- 记录筛选增强
|
||
- 数据库性能优化
|
||
- 状态管理重构
|
||
|
||
### v1.0.0
|
||
- 基础记账功能
|
||
- 收入/支出记录
|
||
- 金额、日期、分类、备注管理
|
||
- Material 3 设计界面
|
||
- 深色/浅色主题切换
|
||
- 主题色自定义
|
||
- 分类管理
|
||
- 默认分类预设
|
||
- 自定义分类支持
|
||
- 分类编辑与删除
|
||
- 月度统计
|
||
- 月度收支总览
|
||
- 月份快速切换
|
||
- 自定义日期选择器
|
||
|
||
## 🤝 贡献指南
|
||
|
||
1. Fork 项目
|
||
2. 创建功能分支 (`git checkout -b feature/AmazingFeature`)
|
||
3. 提交更改 (`git commit -m 'feat: Add some AmazingFeature'`)
|
||
4. 推送到分支 (`git push origin feature/AmazingFeature`)
|
||
5. 提交 Pull Request
|
||
|
||
## 📄 许可证
|
||
|
||
本项目采用 Apache License 2.0 许可证 - 查看 [LICENSE](LICENSE) 文件了解详细信息
|
||
|
||
## 📮 联系方式
|
||
|
||
- 作者:YovinChen
|
||
- 邮箱:gzh298255@gmail.com
|
||
- 博客:[blog.hhdxw.top](https://blog.hhdxw.top)
|
||
|
||
## 🙏 致谢
|
||
|
||
感谢所有为这个项目做出贡献的开发者!
|