高校实验室的设备借用,长期靠一本纸质登记本加一个微信群。学生来问有没有空位,管理员翻本子查;
借出去之后谁拿着、什么时候还、有没有磕坏,全靠人记。一学期下来账实不符是常态,期末盘点要几个
人对两天。
采购那一侧同样是散的:清单躺在 Excel 里,到货靠人一件件点数,发票和报销又是另一条线,谁也对不
上谁。
这套系统把「采购入库 → 设备建档 → 借用审批 → 归还验收 → 采购报销」串成一条链,服务校内三类
角色:学生、实验室管理员、系统管理员。每个动作都留痕,期末盘点直接出报表,不用再翻本子。
面向校内实验室的设备借用与资产管理平台,已完成 P1—P5 五个阶段的完整迭代,并以 Docker 栈跑
通部署与备份恢复全流程。
一、账号与权限:校内实名注册 + 管理员审核;角色分学生 / 实验室管理员 / 系统管理员三级,接口在
后端鉴权,不依赖前端隐藏菜单。
二、采购与入库:采购清单 Excel 批量导入,导入前有预览校验;到货逐件核对;设备按个体建档(一物
一码),目录支持分类与关键词检索。
三、借用闭环:提交申请 → 管理员审批 → 领取登记 → 归还验收,逾期自动提醒,月度台账可追溯每一
台设备的去向。
四、采购与发票:采购单创建、审批流转、发票录入与报销状态追踪。
五、安全与审计:全量操作审计日志、敏感字段脱敏查看、TOTP 双因子登录、安全响应头加固。
六、部署运维:Docker Compose 一键起栈(Nginx + 后端 + MySQL)、生产多阶段镜像构建、数据
库加密备份与恢复演练。
项目由我独立完成:需求梳理、数据模型、后端接口、前端页面、部署脚本全部自己写。
我负责的具体任务:①把整个平台切成 P1—P5 五期,并为每一期定义可验收的交付标准;②设计权限模
型与借用单、采购单、发票三类单据的状态机;③写后端 13 个 REST 控制器与三级角色鉴权;④写 Vue
3 管理端与学生端共 25 个页面;⑤配 Docker Compose、Nginx 与加密备份恢复流程。
技术栈:Spring Boot 3.3.5 + Java 17 + Spring Security + MyBatis-Plus;Vue 3 + TypeScript +
Vite + Element Plus + Pinia;MySQL;JUnit 5 + Testcontainers 起真实 MySQL 容器做数据层集成
测试。
亮点与难点:难点一,目标环境是 MySQL 5.6,Hibernate 6 的方言最低版本不支持,所以整套不用
JPA 改 MyBatis-Plus,数据迁移也自己写了个版本化 SQL 迁移器;难点二,设备要按“个体”而不是
“型号”管,一物一码,归还时必须能定位到具体那一台;亮点是权限判断全部落在后端,前端隐藏菜单
只当体验优化,越权接口单独测过。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!

下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论