Skip to content

Releases: DevMinions/UniDormManager

v0.2.7 — 9 dependabot merges + pgx critical CVE 修复

Choose a tag to compare

@DevMinions DevMinions released this 28 May 15:22

依赖更新版。含 1 critical + 1 low 安全漏洞修复。建议覆盖部署。

🔐 安全

  • pgx critical memory-safety + low SQL 注入(美元引用)→ 升 jackc/pgx/v5 5.7.6 → 5.9.2

⬆️ Runtime 依赖

  • gin 1.10.1 → 1.12.0
  • pgx 5.7.6 → 5.9.2
  • logrus 1.9.3 → 1.9.4
  • recharts 3.7.0 → 3.8.1

⬆️ 开发依赖 / Transitive

  • vite/vitest/@vitest/ui multi-bump · rollup 4.57.1→4.60.4 · postcss 8.5.6→8.5.15
  • brace-expansion / minimatch / picomatch / flatted

package-lock.json 净减 ~1300 行。

✅ 回归 baseline 136/136 全绿,0 regression(audit_api 38 · audit_web 17 · 4 个 UI CRUD/workflow 50 项 · vitest 31)。
merge 后 open PR 0,open alert 0。

Full changelog: v0.2.6...v0.2.7

v0.2.6 — docs polish: DEVELOPMENT_GUIDE/DEPLOYMENT 重写 + 删 3 个孤儿文档

Choose a tag to compare

@DevMinions DevMinions released this 28 May 14:59

仅文档,无代码 / schema 变更。可直接覆盖 v0.2.5 部署。

📚 文档

  • DEVELOPMENT_GUIDE.md 重写 — 567 → 99 行(-83%)。原文档是 UniApp/Vue 时代残留(22 处 Vue / 0 处 React),会严重误导贡献者。新版聚焦项目专属约定
  • DEPLOYMENT.md 重写 — 581 → 220 行(-62%)。原文档 18 处 MySQL / 0 处 PostgreSQL / 含 npm run build:h5(UniApp H5),完全无法部署。新版三条实际路径(Docker / Render / Self-host)+ env vars + 升级 + 备份 + 故障排查
  • 删 3 个 Mini 时代孤儿文档(共 1244 行):DESIGN_SYSTEM_v3 / ROLE_BASED_DESIGN / USER_MANUAL — 都是小程序时代写给 UniApp 的设计/操作文档,跟当前 Web admin 完全脱节

docs/ 文件数:10 → 7。全部内容跟当前实现一致。

Full changelog: v0.2.5...v0.2.6

v0.2.5 — README/CONTRIBUTING 按 GitHub 主流极简重写

Choose a tag to compare

@DevMinions DevMinions released this 28 May 14:18

仅文档,无代码 / schema 变更,可直接覆盖 v0.2.4。

README/CONTRIBUTING 按 GitHub 主流极简标准重写(246/267→151/151 行,-39%/-44%),
SECURITY 默认分支改 main,PR template 同步 105 项 baseline。

Full changelog: v0.2.4...v0.2.5

v0.2.4 — make audit 一键跑全 E2E baseline

Choose a tag to compare

@DevMinions DevMinions released this 28 May 13:38

patch — 工程性收口,无功能变更。

🛠 工程

  • make audit 一键跑全 E2E baseline 105 项,依赖链顺序跑 6 个 harness:
    • audit_api 38(后端 API)
    • audit_web 17(Web 导航)
    • audit_web_crud 14(Buildings UI CRUD)
    • audit_web_crud_students 10
    • audit_web_crud_rooms 13
    • audit_web_workflow_repairs 13(status workflow)
  • 任一 fail 立即停后续(make 默认 -e)
  • 预置 vite preview :3000 + 后端 :8082 + admin/admin123(可 env 覆盖)
  • 跟既有 make test 互补:test 跑单元/集成,audit 跑端到端真启服务 + Playwright

Full changelog: v0.2.3...v0.2.4

v0.2.3 — fix(repairs) 状态推不动 + rooms/repairs harness

Choose a tag to compare

@DevMinions DevMinions released this 28 May 13:30

patch — v0.1.0 静默 bug 修复 + e2e 大幅扩展。可直接覆盖 v0.2.2。

🐛 修复(高优先级 — 影响用户核心流程)

  • Repairs 状态推不动 — convertRepairStatus 强行把出库 status 转小写('Pending'→'pending' / 'In Progress'→'processing'),前端 RepairRequests.tsx 用大写比较 status 决定渲染 "开始维修" / "标记完成" 按钮,转换后所有判断全 false → 用户根本无法推进任何报修工单。此 bug v0.1.0 起静默存在,新加的 e2e workflow harness 抓出
  • 删 convertRepairStatus 函数 + 三处调用(GetAllRepairRequests / GetRepairRequestByID / store_pagination),后端直返 DB 存储格式

🧪 测试

  • tests/audit_web_crud_rooms.js 新文件 — Rooms UI CRUD 13 项(grid 卡片定位 + search 三列 OR + 容量编辑 + 删除)
  • tests/audit_web_workflow_repairs.js 新文件 — Repairs status workflow 13 项(Pending → In Progress → Completed)
  • baseline 136/136 全绿 + 5 包 ok(从 110 → 136,新增 26 项)

Full changelog: v0.2.2...v0.2.3

v0.2.2 — students search 修 OR + Students CRUD harness

Choose a tag to compare

@DevMinions DevMinions released this 28 May 13:06

patch — backend bug 修复 + e2e 覆盖扩展。可直接覆盖 v0.2.1。

🐛 修复

  • Students search 三列 AND 假绿 — BuildStudentQuery 串三次 WhereLike 自动 AND,要求三列同时含 search → 后端返 total=0。Students 页面搜索框输入后列表立刻变空。改成单条 OR + 同 $n 复用,跟 BuildRoomQuery 一致

🧪 测试

  • tests/audit_web_crud_students.js 新文件 — Students UI CRUD 10 项(create → search 验三列 OR → edit → delete with window.confirm → 列表同步)
  • baseline 110/110 全绿(从 100/100 → 110/110)

Full changelog: v0.2.1...v0.2.2

v0.2.1 — docs/monitoring/test 收尾

Choose a tag to compare

@DevMinions DevMinions released this 28 May 12:32

无 API 变更 / schema 变更,patch 级别可直接覆盖 v0.2.0 部署。

📚 文档

  • API.md 加 "v0.2.0 新增接口" 章节(upload / statistics / audit-logs / stream / scheduler)
  • ARCHITECTURE.md 新文件 — 7 张 Mermaid 图(C4 L1/L2/L3 + 写请求 audit 链 + JWT/RBAC + Dashboard + 部署拓扑)
  • README / README.en.md 加 ARCHITECTURE.md 链接

📊 监控

  • Grafana 默认 dashboard grafana/provisioning/dashboards/unidorm-overview.json — file provisioning 自动 load,5 行 11 panel,覆盖业务/HTTP/审计/Scheduler/登录尝试。Grafana 10+ 兼容

🧪 测试

  • tests/audit_web_crud.js 新文件 — Buildings 完整 UI CRUD 14 项 + 3 个 e2e 踩坑笔记
  • baseline 全绿 100/100 + 5 包 ok:audit_api 38/38 · audit_web 17/17 · audit_web_crud 14/14 · vitest 31/31 · go test ./... 5 包 ok

🐛 修复

  • E2E click 30s actionability 卡死 — { force: true } 绕过,input 换 .focus()
  • TestSetJWTSecret env 污染 — 子测加 t.Setenv('JWT_SECRET', '') 隔离

🔧 改进

  • go.mod:robfig/cron/v3 提到 direct(go mod tidy)

Full changelog: v0.2.0...v0.2.1

v0.2.0 — Real-time Audit, Scheduler, One-Click Demo

Choose a tag to compare

@DevMinions DevMinions released this 28 May 09:31

第二个开源版本 ✨

本版集中补齐对外可观察性 + 工程能力,从 v0.1.0 起累计 11 个 phase。

重点亮点

实时审计闭环

  • POST/PUT/DELETE 自动写入 audit_logs(异步 goroutine,API 不阻塞)
  • SSE 流 /api/audit-logs/stream — Web Dashboard 实时面板订阅
  • Prometheus audit_events_total / sse_subscribers 指标

工程能力

  • 内置 cron scheduler(过期 token 清理 + 晚归扫描)+ /api/scheduler/jobs 查任务
  • /api/upload 文件上传(MIME 嗅探 + 5MiB 限制 + 静态 serve)
  • /api/statistics/repairs-by-day 时序聚合,Web Dashboard 加 LineChart 趋势
  • Render Blueprint render.yaml — 一键 deploy demo

国际化与质量

  • 英文 README.en.md + 顶部语言切换
  • 主仓库回归 audit_api.py 38/38 · Web E2E 17/17 · vitest 31/31 · go test 全绿
  • Web bundle code-split(最大 chunk 386KB)

修了什么

  • B1-B6 / B6b 全部审计发现的 schema/RBAC/SQL 参数错位 bug
  • PaginatedRequest contract:前端不传分页参数也不再 400

安全

  • 默认密码 admin123 移除,首启随机生成 16 字符
  • main 分支 ruleset 防 force push / 防 deletion
  • Private Vulnerability Reporting 启用

完整变更详见 docs/CHANGELOG.md 中 [0.2.0]。

一键 demo

Deploy to Render

移动端

UniApp(可同时构建 H5 + 微信小程序)拆到 DevMinions/UniDormManager-Mobile,WIP 状态。

v0.1.0 — Initial Open Source Release

Choose a tag to compare

@DevMinions DevMinions released this 28 May 05:32

首个开源版本 ✨

UniDormManager 是一套基于 Go + React 19 的现代化大学宿舍管理系统。本版本剥离了不完整的客户端,聚焦 Server (Gin + PostgreSQL) + Web 管理端 (React + Vite + Tailwind) 两个成熟稳定的子项目作为 v0.1.0 出仓。

🚀 包含的核心功能

  • 学生管理(信息维护、宿舍分配、按楼栋作用域过滤)
  • 楼栋与房间管理(含楼层属性、容量/入住统计)
  • 报修管理(CRUD + 状态流转)
  • 公告管理
  • 查寝评分(含房间汇总与排行)
  • 门禁记录与晚归告警处理
  • 调宿申请与多步审批
  • RBAC 权限管理(系统管理员通过通配自动获得所有权限)
  • 仪表板(KPI + 楼栋入住率图表 + 报修状态饼图)
  • Prometheus /metrics + 健康检查 /health

🏗️ 技术栈

  • 后端: Go 1.23 · Gin · pgx · PostgreSQL 16 · Redis 7 (可选缓存) · JWT
  • 前端: React 19 · TypeScript · Vite · Tailwind CSS · Recharts · Lucide React
  • 部署: docker-compose(PostgreSQL + Redis + 后端 + 前端 + 可选 Nginx + 可选 Grafana)
  • CI: GitHub Actions(测试 + 构建 + Trivy 安全扫描 + ghcr.io 镜像推送)

✅ 质量基线

  • cd UniDormManagerServer && go test ./... 全绿
  • tests/audit_api.py 后端 36 个接口实测全 PASS(含 auth/RBAC/分页/CRUD 闭环)
  • tests/audit_web.js Web E2E 17/17 PASS(Playwright + 系统 Chrome 抓 9 张 README 截图)
  • 已修复全部已知 schema/RBAC/SQL 参数错位等 bug

🔐 安全实践

  • 默认 admin 密码不再硬编码 admin123,首启 crypto/rand 生成 16 字符随机密码,日志一次性打印(可被 ADMIN_INITIAL_PASSWORD 环境变量覆盖)
  • Private Vulnerability Reporting 已启用,漏洞通过 GitHub Security tab 上报
  • JWT_SECRET 强制要求生产环境替换
  • .env、本地 IDE 配置等已 gitignore

📚 文档

见 README 文档列表:Docker 部署 / 数据库初始化 / 完整部署 / API 接口 / 开发规范 / 用户操作手册 / 变更日志 / 贡献指南

🙏 致谢

感谢 @anthropics/claude-code 全程辅助这次开源整理工作。