Penny Lens PC 技术架构
🎯 产品定位
Penny Lens PC 是一款基于复式记账法的现代化家庭财务管理系统,专为个人和家庭用户设计,帮助用户实现精细化财务管理。通过专业的复式记账法、智能的数据分析和直观的可视化界面,为用户提供完整的财务管理解决方案。
✨ 核心价值
1. 专业复式记账法
- 借贷平衡:确保每笔交易都遵循借贷平衡原则
- 科目体系:完整的会计科目分类体系
- 数据准确性:通过复式记账保证财务数据的准确性
2. 多维度资产管理
- 多账户类型:支持现金、银行、投资、信用卡等多种账户
- 实时同步:资产变化实时更新和同步
- 余额管理:精确的账户余额跟踪
3. 智能预算控制
- 分类预算:按支出分类设置预算限额
- 执行跟踪:实时监控预算执行情况
- 预警提醒:超支自动预警和提醒
4. 数据安全保护
- 本地加密:敏感数据本地 AES 加密存储
- 多平台认证:支持邮箱、微信、支付宝等多种登录方式
- 2FA 验证:双因素认证增强安全性
📋 项目介绍
Penny Lens PC 是一个基于复式记账法的家庭财务管理系统,旨在帮助用户更好地管理个人和家庭财务,通过科学的记账方法和智能分析,实现财务目标。
🎯 项目目标
- 科学记账: 基于复式记账法,确保账目平衡和准确性
- 智能分析: 提供财务分析和趋势预测
- 目标管理: 支持储蓄目标和预算规划
- 用户体验: 简洁直观的界面设计
🏗️ 技术架构
前端技术栈
| 技术 | 版本 | 用途 |
|---|---|---|
| Nuxt | 4.x | 全栈框架 |
| Vue | 3.x | 前端框架 |
| TypeScript | 5.x | 类型安全 |
| Ant Design Vue | 4.x | UI 组件库 |
| UnoCSS | 0.x | 原子化 CSS |
| Pinia | 2.x | 状态管理 |
| Iconify | 3.x | 图标库 |
| VueUse | 10.x | 工具库 |
后端技术栈
| 技术 | 版本 | 用途 |
|---|---|---|
| Node.js | 18+ | 运行时环境 |
| MongoDB | 7.x | 数据库 |
| 七牛云 OSS | - | 文件存储 |
| JWT | - | 身份认证 |
🎨 设计理念
视觉设计
- 现代简约: 简洁的界面设计,减少视觉干扰
- 数据可视化: 直观的图表和统计展示
- 响应式设计: 适配各种设备尺寸
- 深色模式: 支持明暗主题切换
交互设计
- 操作便捷: 减少用户操作步骤
- 反馈及时: 实时的操作反馈
- 错误处理: 友好的错误提示
- 键盘支持: 完整的键盘导航
🚀 核心功能
1. 用户认证
- 多种登录方式: 密码登录、二维码登录
- 安全机制: JWT Token、2FA 双因子认证
- 权限管理: 基于角色的权限控制
2. 资产管理
- 多账户支持: 现金、银行卡、投资账户等
- 资产配置: 灵活的资产分类和配置
- 余额管理: 实时余额更新和同步
3. 记账管理
- 复式记账: 基于借贷平衡的记账方法
- 分类管理: 灵活的收入支出分类
- 批量操作: 支持批量导入和编辑
- 数据验证: 自动的数据校验和平衡检查
4. 预算管理
- 预算规划: 月度、年度预算制定
- 执行监控: 实时预算执行情况
- 预警机制: 预算超支提醒
- 分析报告: 预算执行分析
5. 储蓄游戏
- 目标设定: 灵活的储蓄目标设置
- 进度跟踪: 可视化的进度展示
- 激励机制: 成就系统和奖励机制
- 社交功能: 好友挑战和分享
6. 文件管理
- 文件上传: 支持多种文件格式
- 云存储: 七牛云 OSS 存储
- 文件预览: 在线文件预览
- 权限控制: 文件访问权限管理
📊 数据模型
核心实体
erDiagram
User ||"--o{ Asset : owns
User "||"--o{ Transaction : creates
User "||"--o{ Budget : plans
User "||"--o{ SavingsGoal : sets
Asset "||"--o{ Transaction : involved
Category "||"--o{ Transaction : categorizes
Budget "||"--o{ BudgetItem : contains
SavingsGoal "||--o{ SavingsRecord : tracks
数据关系
- 用户: 系统的核心实体,拥有所有财务数据
- 资产: 用户的财务账户,包括现金、银行卡等
- 交易: 财务记录,连接资产和分类
- 分类: 收入和支出的分类体系
- 预算: 财务规划,包含多个预算项
- 储蓄目标: 用户的储蓄计划和进度
🔧 开发规范
代码规范
- TypeScript: 严格的类型检查
- ESLint: 代码质量检查
- Prettier: 代码格式化
- Git Hooks: 提交前检查
组件规范
- 单一职责: 每个组件职责明确
- 可复用性: 高度可复用的组件设计
- 类型安全: 完整的 TypeScript 类型定义
- 文档完整: 详细的组件文档
测试规范
- 单元测试: 组件和工具函数测试
- 集成测试: API 接口测试
- 端到端测试: 用户流程测试
- 性能测试: 关键功能性能测试
🚀 部署架构
开发环境
- 本地开发: Nuxt 开发服务器
- 热重载: 实时代码更新
- 调试工具: Vue DevTools、浏览器调试
生产环境
- 静态部署: Nuxt 静态生成
- CDN 加速: 静态资源 CDN 分发
- 容器化: Docker 容器部署
- 负载均衡: 多实例负载均衡
📈 性能指标
前端性能
- 首屏加载: < 2s
- 交互响应: < 100ms
- 包体积: < 1MB (gzipped)
- Lighthouse 评分: > 90
后端性能
- API 响应: < 200ms
- 数据库查询: < 50ms
- 文件上传: < 5s (10MB)
- 并发支持: > 1000 用户
🔒 安全措施
前端安全
- XSS 防护: 输入输出过滤
- CSRF 防护: Token 验证
- 内容安全: CSP 策略
- 依赖安全: 定期更新依赖
后端安全
- 身份认证: JWT Token 机制
- 权限控制: 基于角色的访问控制
- 数据加密: 敏感数据加密存储
- API 安全: 接口限流和验证
📱 浏览器支持
| 浏览器 | 版本 | 支持状态 |
|---|---|---|
| Chrome | 90+ | ✅ 完全支持 |
| Firefox | 88+ | ✅ 完全支持 |
| Safari | 14+ | ✅ 完全支持 |
| Edge | 90+ | ✅ 完全支持 |
| IE | - | ❌ 不支持 |
📊 项目统计
- 代码行数: ~50,000 行
- 组件数量: ~100 个
- API 接口: ~50 个
- 测试覆盖率: > 80%
- 文档页面: ~20 个
🎯 未来规划
短期目标 (3个月)
- 完善核心功能
- 优化用户体验
- 提升性能指标
- 完善测试覆盖
中期目标 (6个月)
- 移动端适配
- 多语言支持
- 高级分析功能
- 第三方集成
长期目标 (1年)
- AI 智能分析
- 区块链集成
- 企业版功能
- 国际化部署
🎯 目标用户
主要用户群体
-
个人用户
- 需要精细化财务管理的个人
- 有投资理财需求的用户
- 需要预算控制的用户
-
家庭用户
- 需要家庭财务管理的用户
- 有多个账户需要管理的用户
- 需要家庭预算规划的用户
-
财务专业人士
- 需要专业记账工具的用户
- 需要复式记账法的用户
- 需要详细财务分析的用户
📊 竞品分析
主要竞品
-
随手记
- 优势:用户基数大,功能完善
- 劣势:界面老旧,用户体验一般
-
薄荷记账
- 优势:界面美观,用户体验好
- 劣势:功能相对简单,缺乏专业功能
-
MoneyWiz
- 优势:功能专业,支持多平台
- 劣势:价格较高,学习成本高
差异化优势
- 复式记账法:专业的记账方法,数据更准确
- 现代化界面:基于 Vue 3 的现代界面设计
- 智能分析:AI 驱动的财务分析功能
- 开源透明:开源项目,代码透明可审计
📈 成功指标
用户指标
- 用户增长:月活跃用户数
- 用户留存:用户留存率
- 用户满意度:用户评分和反馈
产品指标
- 功能使用率:各功能模块使用率
- 数据质量:数据准确性和完整性
- 性能指标:页面加载速度和响应时间
Penny Lens PC - 让财务管理更简单、更智能、更专业 🚀
