post.detail

Penny Lens PC 技术架构

Penny Lens PC 是一款基于复式记账法的现代化家庭财务管理系统,专为个人和家庭用户设计,帮助用户实现精细化财务管理。

Penny Lens PC 技术架构

🎯 产品定位

Penny Lens PC 是一款基于复式记账法的现代化家庭财务管理系统,专为个人和家庭用户设计,帮助用户实现精细化财务管理。通过专业的复式记账法、智能的数据分析和直观的可视化界面,为用户提供完整的财务管理解决方案。

✨ 核心价值

1. 专业复式记账法

  • 借贷平衡:确保每笔交易都遵循借贷平衡原则
  • 科目体系:完整的会计科目分类体系
  • 数据准确性:通过复式记账保证财务数据的准确性

2. 多维度资产管理

  • 多账户类型:支持现金、银行、投资、信用卡等多种账户
  • 实时同步:资产变化实时更新和同步
  • 余额管理:精确的账户余额跟踪

3. 智能预算控制

  • 分类预算:按支出分类设置预算限额
  • 执行跟踪:实时监控预算执行情况
  • 预警提醒:超支自动预警和提醒

4. 数据安全保护

  • 本地加密:敏感数据本地 AES 加密存储
  • 多平台认证:支持邮箱、微信、支付宝等多种登录方式
  • 2FA 验证:双因素认证增强安全性

📋 项目介绍

Penny Lens PC 是一个基于复式记账法的家庭财务管理系统,旨在帮助用户更好地管理个人和家庭财务,通过科学的记账方法和智能分析,实现财务目标。

🎯 项目目标

  • 科学记账: 基于复式记账法,确保账目平衡和准确性
  • 智能分析: 提供财务分析和趋势预测
  • 目标管理: 支持储蓄目标和预算规划
  • 用户体验: 简洁直观的界面设计

🏗️ 技术架构

前端技术栈

技术版本用途
Nuxt4.x全栈框架
Vue3.x前端框架
TypeScript5.x类型安全
Ant Design Vue4.xUI 组件库
UnoCSS0.x原子化 CSS
Pinia2.x状态管理
Iconify3.x图标库
VueUse10.x工具库

后端技术栈

技术版本用途
Node.js18+运行时环境
MongoDB7.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 安全: 接口限流和验证

📱 浏览器支持

浏览器版本支持状态
Chrome90+✅ 完全支持
Firefox88+✅ 完全支持
Safari14+✅ 完全支持
Edge90+✅ 完全支持
IE-❌ 不支持

📊 项目统计

  • 代码行数: ~50,000 行
  • 组件数量: ~100 个
  • API 接口: ~50 个
  • 测试覆盖率: > 80%
  • 文档页面: ~20 个

🎯 未来规划

短期目标 (3个月)

  • 完善核心功能
  • 优化用户体验
  • 提升性能指标
  • 完善测试覆盖

中期目标 (6个月)

  • 移动端适配
  • 多语言支持
  • 高级分析功能
  • 第三方集成

长期目标 (1年)

  • AI 智能分析
  • 区块链集成
  • 企业版功能
  • 国际化部署

🎯 目标用户

主要用户群体

  1. 个人用户

    • 需要精细化财务管理的个人
    • 有投资理财需求的用户
    • 需要预算控制的用户
  2. 家庭用户

    • 需要家庭财务管理的用户
    • 有多个账户需要管理的用户
    • 需要家庭预算规划的用户
  3. 财务专业人士

    • 需要专业记账工具的用户
    • 需要复式记账法的用户
    • 需要详细财务分析的用户

📊 竞品分析

主要竞品

  1. 随手记

    • 优势:用户基数大,功能完善
    • 劣势:界面老旧,用户体验一般
  2. 薄荷记账

    • 优势:界面美观,用户体验好
    • 劣势:功能相对简单,缺乏专业功能
  3. MoneyWiz

    • 优势:功能专业,支持多平台
    • 劣势:价格较高,学习成本高

差异化优势

  1. 复式记账法:专业的记账方法,数据更准确
  2. 现代化界面:基于 Vue 3 的现代界面设计
  3. 智能分析:AI 驱动的财务分析功能
  4. 开源透明:开源项目,代码透明可审计

📈 成功指标

用户指标

  • 用户增长:月活跃用户数
  • 用户留存:用户留存率
  • 用户满意度:用户评分和反馈

产品指标

  • 功能使用率:各功能模块使用率
  • 数据质量:数据准确性和完整性
  • 性能指标:页面加载速度和响应时间

Penny Lens PC - 让财务管理更简单、更智能、更专业 🚀