Skip to content

项目结构

仓库根目录

text
finance-app/
├── build.gradle              # Gradle 构建脚本(依赖、打包、前端集成、Spotless)
├── settings.gradle
├── gradlew / gradlew.bat     # Gradle Wrapper
├── package.sh                # 宿主机打包可执行 jar 的脚本
├── reload.sh                 # 触发后端容器内增量编译(开发用)
├── README.md                 # 功能特性与技术栈概览
├── AGENTS.md                 # 开发约定(AI 助手与开发者参考)
├── docs/                     # 补充说明文档
├── run/                      # 运行与部署编排
│   ├── docker-compose.yml    # 前后端 Docker 编排
│   ├── backend/              # 打入前端的可执行 jar
│   ├── front/                # Nginx 托管的前端产物与配置
│   └── ai-dev/               # AI 测试环境启动脚本
├── src/main/java/            # 后端源码
├── src/main/resources/       # 配置、MyBatis XML、建表脚本
└── frontend/                 # Vue 3 前端

后端包结构

src/main/java/cn/rosercode/finance/

职责
client外部服务客户端(DeepSeek)
common通用响应(ResultPageResult)、业务异常与全局异常处理
config应用配置、动态数据源、Knife4j、MyBatis-Plus、SPA 路由回退
controllerREST 接口层
converterMapStruct 对象转换器(VoConverter
dto请求对象
emailIMAP 邮箱账单抓取(监听、拉取、解析、存储)
entity数据库表映射实体
enums枚举(BillTypeAiCallTypeStatisticsDimension 等)
exporterExcel 导出处理
importer账单解析器(支付宝/微信/美团/银行)与压缩包解密
interceptorJWT 鉴权、访问日志
mapper数据访问层(MyBatis-Plus)
notification通知渠道发送器
scheduler定时任务(通知、日志清理、邮箱账单)
service / service.impl业务层
util工具类(JwtUtilUserContextAppLogUtils 等)
vo响应对象
launcher桌面 GUI 启动器(仅打入带 GUI 的 jar)

资源目录

src/main/resources/

text
application.yml         # 应用配置(JWT、MyBatis-Plus、springdoc、端口等)
logback-spring.xml      # 日志配置(控制台 + 按天滚动文件)
mapper/                 # MyBatis XML
sql/
├── init.sql            # MySQL 建表脚本
├── schema-sqlite.sql   # SQLite 建表脚本(以 ;; 分隔语句)
├── init_categories.sql # 默认分类种子(MySQL)
└── init_tags.sql       # 默认标签种子(MySQL)

前端结构

frontend/src/

text
api/           # 各模块 REST 接口封装(axios)
components/    # 复用组件(账单预览、导入结果、AI/通知/数据库配置面板等)
composables/   # 组合式函数(关键词历史)
locales/       # 中/英/日三语文案(messages.ts)
router/        # 路由与导航守卫
store/         # Pinia 状态(user / database / registration)
utils/         # 工具(支付方式标签、SSE 封装、渲染辅助)
views/         # 页面组件

运行时目录

应用运行目录下会自动创建:

目录/文件说明
config/database.json数据库配置(SQLite / MySQL)
config/app.json应用配置(注册开关、通知链接、日志保留天数)
data/SQLite 数据文件与邮箱账单附件
logs/运行日志文件

相关文档

基于 Spring Boot 3 + Vue 3 的个人收支管理系统