Skip to content
Jarvis Hub
返回项目
Project file 2024
已上线

iDesignLab

天津大学工业设计实验室预约平台

WxMpGo+Gin+GormMariaDBDockerNginxVue3 + ElementPlus + Vite
iDesignLab 项目封面 Selected work / Jarvis Hub

背景与目标

iDesignLab 面向实验室日常开放与课题研究场景,解决“资源分散、规则不统一、沟通低效”的问题。平台以“统一入口(微信服务号)、可配置规则(时段模板/权限)、全流程留痕(申请-审核-签到-完结)”为核心目标,降低老师与同学的协作成本,并提升设备与场地的使用效率与安全性。

架构与技术选型

  • 前端:Vue 3 + Element Plus + Vite,强调表格/日历的可用性与批量操作体验。
  • 后端:Go + Gin + Gorm,领域模型清晰、易于扩展;同步校验与异步通知并行。
  • 数据库:MariaDB,围绕预约冲突与统计优化索引设计,保留审计表。
  • 接入层:Nginx 反向代理 + 静态资源缓存;HTTPS 强制。
  • 运维:Docker 容器化部署,Compose 管理多服务;每日备份与周恢复演练。
  • 入口:WxMp(微信服务号),支持扫码快速进入与模板消息触达。

核心功能模块

1. 账号与权限

  • 角色:管理员、教师/助教、学生。
  • 准入:基于学号/工号白名单与学院维度的批量导入。
  • 授权:按资源分组授权(设备/房间/工位),支持“仅可申请”、“免审核”、“黑名单”。

2. 资源管理

  • 资源类型:设备、场地、工位;可设置标签、容量与维护周期。
  • 时段模板:支持学期/周末/节假日差异化开放;黑名单与维护期优先级最高。
  • 冲突策略:同一时间段同一资源只允许一个预约,支持并发容量的资源型例外(如教室工位)。

3. 预约流程

  • 申请:选择资源与时段,前端即时冲突检测;支持重复预约批量录入。
  • 审核:规则驱动(是否免审、是否超时长、是否跨学院);可人工二次确认。
  • 签到:到场扫码;迟到与缺席自动记录,并触发后续风控策略。
  • 完结:设备归还/场地清理确认;支持上传照片与备注。

4. 日历与排班

  • 视图:周视图/月视图/资源分组视图,颜色区分状态(可预约/已锁定/维护)。
  • 批量:一键屏蔽考试周/校级活动;教师可批量锁定课程时间段。

5. 通知与消息

  • 模板消息:申请成功、审核结果、到场提醒、超时预警、违规告知。
  • 兜底策略:邮件/站内信在模板消息未达时进行二次推送。

6. 数据报表

  • 指标:资源使用率、热门时段、违规比例、预约完成率、复用率。
  • 导出:按学期与学院维度的 CSV/Excel 导出,用于绩效与预算评审。

关键业务规则

  • 时间上限:单次预约不超过既定时长(如 4 小时),累计时长按周限额。
  • 并发限制:同一用户同一时间仅能占用一个不可并发资源;并发资源遵循容量上限。
  • 审批阈值:跨学院、跨维护期、超时长等触发人工审批。
  • 违规处理:未签到/超时未归还达阈值时,自动冻结一段时间并通知导师。
  • 学期边界:模板随学期切换,历史预约自动归档不可更改。

数据模型概览(简化)

  • User:基础信息、角色、学院、状态与违规计数。
  • Resource:类型、容量、标签、归属学院、维护计划。
  • SlotTemplate:时段规则、适用日期范围、优先级(维护/黑名单最高)。
  • Booking:申请记录(资源、时段、状态流转、审批人、备注)。
  • CheckinLog:签到/签退时间、地点与证据。
  • Notice:模板消息记录与兜底通道状态。

端到端流程(概要)

申请 → 准入校验(角色/白名单) → 冲突检测/容量校验 → 风控(历史违规/时长阈值) → 审批(自动/人工) → 锁定时段 → 开始前提醒 → 到场扫码签到 → 使用中状态监控 → 签退/完结 → 归档与报表

安全与合规

  • 数据安全:手机号与学号脱敏展示,操作行为全量审计,管理员操作二次确认。
  • 接口安全:统一鉴权中间件、速率限制与 IP 黑名单,上传文件类型白名单。
  • 合规:用户协议与隐私政策弹窗确认,数据最小化采集与可撤回。

性能与稳定性

  • 索引优化:Booking(resource_id, start_time, end_time, status) 组合索引;统计类接口采用只读副本或缓存。
  • 缓存策略:热门资源与模板配置本地缓存 + 定时刷新;避免高频重复计算。
  • 前端:日历虚拟滚动、表格分页与按需加载;弱网下降级渲染。
  • 稳定性:失败重试与幂等设计,消息通知保证至少一次投递并记录送达状态。

运维与部署

  • Docker Compose 启动后端、数据库与 Nginx;统一环境变量与密钥注入。
  • 备份:数据库每日快照;周度恢复演练确保可用性。
  • 灰度:新功能按学院/教师试点,配置化开关逐步放量。

上线成效(示例指标)

  • 预约冲突率下降约 72%,设备使用率提升约 35%。
  • 老师审核耗时从均值 12 分钟降至 3 分钟左右。
  • 违规率(迟到/未归还)随提醒链路优化下降约 40%。

迭代规划

  • 扫码归还与出入记录打通门禁系统。
  • 审批流配置化(多级审批/条件分支)。
  • 学校统一认证与学籍系统对接,减少手工导入。
  • 报表自助化:可视化仪表盘与自定义查询。
Start typing to search.
Fuse.js Index ready