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, 个人理财, 云计算, 域名枚举, 安全插件, 异常检测, 消费追踪, 网络测绘, 规则引擎, 财务仪表盘, 费用分析, 金融科技