Skip to content

Ledger 模块文档

概述

Ledger 模块是一个现代化的移动端财务管理系统后端服务,旨在为个人和家庭提供完整的记账、预算管理和财务分析功能。本模块采用微服务架构,支持 HTTP API 和 gRPC 双协议,具备高并发、高可用、高可测试性的特点。

版本信息

  • 当前版本: v0.1.0 (设计规划阶段)
  • 目标版本: v1.0.0 (生产就绪)
  • 技术栈: Go + Gin + gRPC + MySQL + Redis + Kafka

核心功能

🏦 智能账本管理

  • 多账本支持(个人、家庭、项目、旅行账本)
  • 账本共享与协作(多用户权限管理)
  • 账本模板系统(预设和自定义模板)
  • 账本生命周期管理(归档、导出、合并)

💰 便捷记账体验

  • 快速记账(快捷按钮、语音识别)
  • 智能分类(历史数据推荐)
  • 拍照记账(OCR 识别小票信息)
  • 批量导入(银行流水、第三方账单)
  • 离线记账(本地存储,自动同步)

🏷️ 丰富标签系统

  • 层级标签(主分类和子分类)
  • 标签模板(预设生活常用标签)
  • 自定义标签(颜色、图标、描述)
  • 标签统计分析(使用频率、金额分析)

📊 智能预算管理

  • 灵活预算周期(日/周/月/季/年)
  • 分类预算(按标签细分预算控制)
  • 预算模板(基于收入推荐方案)
  • 智能预警(70%/90%/100% 阈值提醒)
  • 预算执行分析(超支原因、节省建议)

📈 深度数据分析

  • 趋势分析(收支趋势、同比环比)
  • 分类统计(支出分布、收入来源)
  • 多维度筛选(时间、标签、账本、类型)
  • 财务健康评分(基于收支比例)
  • 预测分析(未来支出预测、现金流预警)

🔔 多渠道通知

  • 实时预算提醒(接近预算、超出预算)
  • 记账习惯提醒(定时提醒、遗漏提醒)
  • 多通知渠道(当前日志记录,未来支持钉钉、邮件)
  • 通知个性化配置(用户偏好、智能静音)

技术特性

🏗️ 现代化架构

  • 清洁架构: 分层设计,依赖倒置,高内聚低耦合
  • 微服务就绪: 模块化设计,支持服务拆分
  • 云原生: 容器化部署,Kubernetes 支持
  • 可观测性: 全链路追踪,指标监控,结构化日志

🚀 高性能设计

  • 多级缓存: 本地缓存 + Redis 集群 + CDN
  • 数据库优化: 读写分离,分区表,索引优化
  • 连接池管理: 数据库和 Redis 连接池优化
  • 异步处理: 消息队列,工作池,批量处理

🔒 安全可靠

  • 数据加密: 敏感信息加密存储和传输
  • 权限控制: 基于角色的细粒度权限管理
  • 审计日志: 完整的操作审计和追踪
  • API 安全: 限流、熔断、认证、授权

🧪 高质量保证

  • TDD 测试驱动: 100% 代码覆盖,严格测试要求
  • 可测试设计: 依赖注入,接口抽象,无不可测试层
  • 性能测试: 压力测试,基准测试,性能监控
  • 质量门禁: 自动化检查,代码审查,持续集成

文档导航

📋 架构设计

🛠️ 开发指南

  • 测试策略 - TDD 实践和质量保证
  • 性能优化 - 性能调优和监控方案
  • 部署指南 - 容器化部署和运维管理

📚 技术知识库

快速开始

环境要求

  • Go 1.21+
  • MySQL 8.0+
  • Redis 7.0+
  • Docker & Kubernetes (可选)

本地开发

bash
# 克隆项目
git clone https://github.com/FixIterate/lz-stash.git
cd lz-stash

# 初始化 Ledger 模块
lzt ledger init

# 启动开发环境
lzt ledger server --env=dev

# 运行测试
go test ./internal/app/ledger/... -v

快速验证

bash
# CLI 演示模式
lzt ledger demo

# 压力测试
lzt ledger bench --concurrent=100

# 健康检查
curl http://localhost:8080/health

开发路线图

v0.1.0 - 架构设计 (当前)

  • ✅ 完整系统架构设计
  • ✅ 技术选型和知识库建设
  • ✅ API 设计和数据模型
  • ✅ 测试策略和性能方案

v0.2.0 - 核心实现

  • 🔄 基础模型和仓储层实现
  • 🔄 gRPC 服务和 HTTP API
  • 🔄 核心业务逻辑
  • 🔄 单元测试覆盖

v0.3.0 - 功能完善

  • ⏳ 预算管理和通知系统
  • ⏳ 统计分析功能
  • ⏳ 缓存和性能优化
  • ⏳ 集成测试

v0.4.0 - 性能优化

  • ⏳ 压力测试验证
  • ⏳ 监控和可观测性
  • ⏳ 安全加固
  • ⏳ 部署自动化

v1.0.0 - 生产就绪

  • ⏳ 完整功能交付
  • ⏳ 生产环境验证
  • ⏳ 文档完善
  • ⏳ 多语言 SDK

贡献指南

我们欢迎社区贡献!请参阅:

技术支持

许可证

本项目采用 MIT 许可证。


💡 提示: 这是一个学习型项目,旨在展示现代化 Go 应用的最佳实践。所有设计和实现都遵循工业级标准,可直接用于生产环境。

基于 MIT 许可证发布