# 软件项目资源登记平台 面向团队内部的云资源 / 服务套餐台账系统:登记每个项目用了哪些资源、什么时候到期、谁负责,到期前自动发邮件提醒。 ## 技术栈 - 后端:Java 17 + Spring Boot 3 + MyBatis-Plus + MySQL + Spring Security(JWT) - 前端:Vue 3 + Vite + Element Plus + Pinia - 数据库:MySQL 8.0+ ## 目录结构 ``` . ├── sql/schema.sql 数据库表结构 + 初始数据 ├── backend/ Spring Boot后端项目 └── frontend/ Vue前端项目 ``` ## 快速开始 1. 用MySQL执行 `sql/schema.sql` 2. 启动后端:进入 `backend/`,改好 `application.yml` 里的数据库和邮箱配置,`mvn spring-boot:run` 3. 启动前端:进入 `frontend/`,`npm install && npm run dev` 4. 浏览器打开前端地址,默认账号 `admin` / `admin123` 详细说明见 `backend/README.md` 和 `frontend/README.md`。 ## 已实现的核心功能 - [x] 登录鉴权(JWT)、密码修改 - [x] 项目管理(增删改查) - [x] 资源管理(增删改查),支持一个资源关联多个项目 - [x] 资源类型/服务商字典,可自行扩展新分类 - [x] 工作台:概览统计 + 到期关注列表 + 类型分布 - [x] 到期状态自动刷新 + 邮件提醒(分"提前30天/提前7天/已过期"三阶段,各发一次) - [x] 费用统计(按项目/按资源类型) - [x] 用户管理(管理员/普通用户两级权限) - [x] 操作日志 - [x] 资源列表Excel导出 ## 已知待打磨的点(建议后续迭代) - 权限目前只有"管理员/普通用户"两级,普通用户能看到全部数据,还没做"只能管自己负责的资源"这种细粒度控制 - 前端的项目/资源下拉选择目前是一次性全量加载,数据量很大时需要改成远程搜索 - 邮箱密码等敏感配置建议改成读环境变量,不要直接写在 `application.yml` 里提交到代码仓库 - 还没写自动化测试,建议后续按核心接口补充