这个项目能做什么

這是一套以台灣 K–12 學校教學組長日常工作流程為中心設計的排課與調代課系統,採 MIT 授權、單校自架、純 Web 形式,介面為繁體中文並使用台灣教育術語。 功能涵蓋面相當完整。基礎資料部分包含學期與節次表(多學制範本)、教師/班級/科目/場地、Excel 匯入、設定精靈、開新學期複製,以及混合學制的班級與節次表指派。配課與手動排課支援跑班群組、協同教學、連堂、鐘點即時統計、拖拉式週課表、單格衝突檢查、多草稿版本管理與發布。自動排課採用 Google OR-Tools CP-SAT 引擎,以 H1–H10 硬約束與 S1–S8 軟約束加權求解,背景執行並提供即時進度;無解時會以教務語言定位衝突,並支援部分排課。 調代課流程包含請假登記與受影響節次展開、代課推薦、調課驗證、指派即生效、站內與 Email 通知及確認、今日看板與 A4 公告列印,以及月結鐘點統計匯出 Excel。報表可輸出班級、教師、場地課表為 Excel、PDF(內嵌中文字型)或 PNG,並提供全校總表與批次 zip。維運面有每日自動備份、手動備份/下載/上傳還原、稽核紀錄與 RBAC 角色權限。 技術棧為 Vue 3 + TypeScript + Vite + Pinia + Naive UI 前端,Python 3.12 + FastAPI + SQLAlchemy 2 + Pydantic v2 後端,PostgreSQL 16 資料庫,Redis 與 RQ 執行背景排課與匯出備份工作,Caddy 作為反向代理,整體以 Docker Compose 部署六個容器。官方映像同時提供 amd64 與 arm64,最低需求為 2 核 / 4GB RAM / 10GB 磁碟,自動排課建議 4 核 8GB。 安裝提供一鍵腳本(Windows PowerShell 與 Linux/macOS/NAS 的 bash 版本),也可拉取官方映像或從原始碼建置。專案刻意設計成先下載再執行而非直接管線執行,以便使用者先行檢視內容。系統內建示範資料功能,可在尚未建立學期時快速產生一所虛構國中的完整資料,便於體驗排課、調代課、匯出與備份流程。 文件包含教學組長操作手冊(11 章圖文網頁)、部署手冊、架構設計、開發任務卡、變更紀錄與貢獻指南,並提供可離線閱讀的 HTML 版本。專案狀態為 v1.2.4,六大里程碑 M0–M5 已完成,並有單元、整合與端對端測試。