このプロジェクトについて
これは台湾の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で6つのコンテナとしてデプロイします。公式イメージはamd64とarm64の両方を提供し、最低要件は2コア/4GB RAM/10GBディスク、自動編成には4コア8GBを推奨します。
インストールはワンクリックスクリプト(Windows PowerShellおよびLinux/macOS/NASのbash版)を提供し、公式イメージの取得やソースコードからのビルドも可能です。プロジェクトは意図的に直接パイプ実行ではなくダウンロード後に実行する設計となっており、ユーザーが事前に内容を確認できます。システムにはデモデータ機能が内蔵され、学期が未作成の段階でも架空の中学校の完全なデータを素早く生成でき、編成・代行調整・出力・バックアップの流れを体験できます。
ドキュメントには教務主任操作マニュアル(11章の図解Webページ)、デプロイマニュアル、アーキテクチャ設計、開発タスクカード、変更履歴、コントリビューションガイドが含まれ、オフラインで閲覧可能なHTML版も提供します。プロジェクトの状態はv1.2.4で、6つのマイルストーンM0–M5は完了しており、単体・統合・エンドツーエンドテストも備えています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.