mktintumon/SpendSense

GitHub: mktintumon/SpendSense

一个基于 Spring Boot 和 React 的个人支出分析平台,支持自动分类、异常检测和 CSV 数据导入。

Stars: 0 | Forks: 0

# 🚀 SpendSense **智能支出追踪:基于规则的分类与异常检测** SpendSense 是一个全栈支出分析平台,帮助用户追踪、分类和分析他们的支出。 它支持基于规则的商户分类、针对异常支出的异常检测、CSV 上传,以及用于财务洞察的交互式仪表板。 ## ✨ 功能特性 * ➕ 添加、编辑和删除支出 * 📂 通过 CSV 上传支出数据 * 🧠 基于规则的商户分类 * 🚨 自动异常检测(支出 > 3× 类别平均值) * 📊 包含月度分析的仪表板 * 🏆 消费金额最高的商户洞察 * 📃 服务端分页 * 🔍 支出筛选与按商户搜索 * ⚠️ 全局异常处理 * 📚 带有 Swagger 文档的 REST API ## 🛠 技术栈 ### 后端 * Java * Spring Boot * Spring Data JPA * MySQL * Swagger (OpenAPI) * Lombok ### 前端 * React * TypeScript * Material UI * Axios ## 🏗 系统架构 ``` React (UI) │ Axios API Layer │ Spring Boot REST APIs │ Service Layer │ JPA Repository │ MySQL Database ``` ## 📂 项目结构 ``` spendsense │ ├── backend │ ├── controller │ ├── service │ ├── repository │ ├── dto │ ├── model │ ├── exception │ └── config │ ├── frontend │ ├── components │ ├── api │ ├── pages │ └── README.md ``` ## ▶ 运行项目 ### 后端 ``` cd backend mvn spring-boot:run ``` 后端运行于: ``` http://localhost:8081 ``` ### 前端 ``` cd frontend npm install npm run dev ``` 前端运行于: ``` http://localhost:5173 ``` ## 📖 API 文档 Swagger UI: ``` http://localhost:8081/swagger-ui/index.html ``` ## 🔍 支出 JSON 示例 ``` { "date": "2026-03-01", "amount": 250, "vendor": "Swiggy", "description": "Dinner order" } ``` ## 📊 仪表板洞察 SpendSense 仪表板提供: * 月度类别支出总额 * 按消费金额排名前 5 的商户 * 异常检测警报 * 分类数据分析 ## 🚀 未来改进 * 身份验证 (JWT) * 适配移动端的 UI * 基于 AI 的功能 ## 👨‍💻 作者 Mohit Kumar 热衷于构建可扩展全栈应用的前端开发者。 ⭐ 如果你觉得这个项目有用,请考虑给它点个 Star!
标签:CSV导入, FinTech, JPA, JS文件枚举, Material UI, React, REST API, Spring Boot, Swagger, Syscalls, TypeScript, 个人理财, 云计算, 域名枚举, 安全插件, 异常检测, 消费追踪, 网络测绘, 规则引擎, 财务仪表盘, 费用分析, 金融科技