一、项目概述
本项目是一款集个人记账、亲友群组分账、小微经营记账于一体的全场景账本管理系统,采用前后端分离架构开发,后端基于Java技术栈搭建稳定高效的接口服务,前端基于Vue框架实现轻量化、流畅的交互页面。项目针对性解决传统记账软件功能单一、群组分账繁琐、经营收支统计模糊、账目数据不规范等问题,兼顾个人日常消费记录、多人共同开销分摊、小店/个体户经营收支核算三大核心场景,支持账目记录、分类统计、自动分账、数据可视化分析、账单导出、权限管控等功能,适用于个人日常理财、室友合租、朋友出游、小型商铺经营等多种使用场景,功能全面、实用性强。
二、技术架构
本项目采用标准前后端分离架构,结构清晰、扩展性强,便于迭代维护和线上部署,核心技术栈如下:
1. 后端技术栈(Java)
核心基于Spring Boot + SSM框架开发,简化项目配置,快速构建稳定的后端服务;使用MyBatis-Plus实现数据库高效CRUD操作,简化SQL开发,提升数据交互效率;数据库采用MySQL,合理设计账目、用户、群组、分类、经营订单等数据表,通过外键关联、索引优化提升查询性能;集成Redis实现登录缓存、高频数据缓存,提升系统响应速度;通过Spring MVC实现RESTful风格接口,统一接口返回格式,搭配全局异常处理,保证服务稳定性;使用Maven进行项目依赖管理,Git进行版本控制。
2. 前端技术栈(Vue)
基于Vue3 + Vite搭建轻量化前端项目,相比传统Vue CLI启动更快、打包体积更小;采用Element Plus组件库快速搭建后台管理页面,适配账单列表、数据表单、弹窗编辑、统计图表等场景;通过Vue Router实现页面路由跳转、权限拦截,区分普通用户、群组管理员、经营账号权限;使用Pinia实现全局状态管理,统一处理用户登录信息、全局配置;通过Axios封装网络请求,统一拦截请求与响应,完成前后端数据交互;集成ECharts实现收支数据可视化图表,直观展示月度、年度账目统计数据。
3. 部署与运维
支持Jar包快速部署,可通过Nginx实现反向代理、跨域配置、静态资源优化,适配线上服务器运行,具备完整的项目上线、日志排查、服务启停运维能力。
三、核心功能模块
系统整体分为个人记账、群组分账、经营账本、数据统计、系统管理五大核心模块,三大记账场景相互独立、数据隔离,满足不同用户使用需求。
1. 个人记账模块
面向个人日常收支管理,支持自定义收支分类(餐饮、交通、购物、薪资等),用户可快速录入单笔收入、支出账目,填写金额、时间、备注、图片凭证等信息;实现账目分页查询、条件筛选(按时间、分类、金额)、账单编辑删除;支持月度/年度收支汇总,自动统计总收支、结余金额,通过饼图、折线图展示收支占比和消费趋势,帮助用户直观把控个人财务状况。
2. 群组分账模块(核心特色)
针对多人共同消费场景设计,支持用户自主创建群组、邀请好友加入群组,设置群组名称、分账规则;支持多人共同开销记账,录入总金额、参与分账成员,系统自动实现均分、按比例分账、自定义金额分账;实时展示群组每笔账单明细、个人待付/应收金额,自动核算成员之间的欠款关系;支持一键结清账目、历史分账记录永久留存,彻底解决合租缴费、集体出游、聚餐AA等场景对账繁琐、账目混乱的问题。同时支持群组管理员权限管控,仅管理员可新增、编辑公共账单。
3. 经营账本模块
适配小微商户、个体户经营记账场景,区别于个人消费记账,区分经营收入、经营成本、运营支出三大类目;支持商品/服务项目备注、客户信息记录、订单编号绑定,实现每笔经营账目可追溯;系统自动统计每日、每月、每年经营利润,核算总收入、总成本、纯利润;支持异常账目标记、经营账单批量导出Excel,方便财务核对、台账留存;可查看经营数据走势,辅助用户分析经营状况。
4. 数据可视化统计模块
整合三大账本数据,通过ECharts生成可视化图表:收支饼图展示各类目消费占比、月度折线图展示收支走势、柱状图对比同期账目数据;支持按日、周、月、年多维度筛选统计,所有数据实时更新,让财务数据直观清晰。
5. 系统基础模块
包含用户注册登录、个人信息修改、密码重置;实现账目数据备份、账单导出、日志查询;基于角色的权限控制,区分普通用户、群组管理员、经营管理员权限,保障数据安全隔离,不同场景账目数据互不干扰。
四、项目亮点与技术难点
1. 项目亮点
- 多场景融合设计:创新性整合个人、群组、经营三大记账场景,区别于单一功能记账系统,适用场景更广,实用性更强。
- 智能自动分账机制:支持多种分账模式,自动核算多人欠款关系,无需人工计算,精准高效,解决传统AA分账痛点。
- 数据隔离与权限管控:三大账本数据独立存储、相