关于 Nurse Scheduler

项目介绍

Nurse Scheduler 是一个适配多行业的多租户智能排班系统,默认提供医院护理场景,可通过行业标签扩展到酒店、NOC 和安保等排班场景,源码仓库:https://github.com/lf1707/nurse-scheduler-public。 本项目参考并移植了 roster-wizard 的 OR-Tools CP-SAT 排班思路,但两者定位不同: 1. roster-wizard 是基于 Django 的单实例排班工具,核心是录入员工、技能配比、班次序列、请假和偏好后生成班表。 2. Nurse Scheduler 重构为 FastAPI + SQLAlchemy + PostgreSQL 服务端架构,面向多机构 SaaS 场景,使用 PostgreSQL RLS 隔离租户数据,并提供租户、容量档位、用户角色与平台管理能力。 3. 领域模型更贴近护理场景:护士档案维护业务角色、技能、科室、请假和个人排班约束;约束可明确启用,未启用时保持无限制,避免默认值被误写成强制规则。 4. 生成链路扩展为 Celery 后台任务,前端轮询生成进度,保存历史结果,支持 CSV/TXT/JSON/PDF 导出与无解原因诊断。 5. 提供中文管理界面和开箱即用的生产部署方案,包括 Docker Compose、Nginx TLS、数据库备份、CI 与非 root 运行。 感谢 roster-wizard 提供技能配比、班次序列与 CP-SAT 求解基础;Nurse Scheduler 在其基础上重新实现服务端、数据模型和运维边界,默认服务医院护理排班,并按计划适配更多行业场景。

本项目源码: github.com/lf1707/nurse-scheduler-public
上游项目: github.com/galojix/roster-wizard

开源协议

本项目以 MIT License 发布;上游项目 roster-wizard 同样使用 MIT License。

联系方式

如需技术支持、功能建议或合作洽谈,请通过以下方式联系:

  • 邮箱:未设置

支持这个项目

这是一个由个人维护的免费开源项目,欢迎请作者喝杯咖啡支持后续发电。

Free(标准版)

长期免费 · 标准容量

50 人以内

  • ⏳ 不限使用时间
  • ⚡ 基础计算资源与核心功能

Pro(扩容版)

席位空间扩大 · 资源扩容

200 人以内

  • 🚀 席位与资源扩容,可承载 200 人以内规模
  • ⏳ 同样不限使用时间
  • ☕ 自愿赞助,帮助作者分担服务器及带宽成本

参考赞助金额:(一次性,自愿)

支持方式:

致谢

  • Google OR-Tools — 排班求解引擎
  • roster-wizard — 原始项目
  • Pico.css、Alpine.js、HTMX — 前端技术栈