
react
React is a JavaScript library for building user interfaces with declarative, component-based, and cross-platform design.
它為學校各處室提供了一個完整且可直接部署的任務管理解決方案,透過模組化的處室設定避免重複程式碼,具備自動資料遷移與備份,以及專為低動畫、高對比顯示設計的電子紙看板。
一套以 Google Sheet 為資料底座、Google Apps Script 為服務層的校務任務管理系統。安裝時可選擇處室與職務,系統會套用相對應的任務類型、範例、管理台名稱及直向電子紙看板。
| 處室 | 可選職務 |
|---|---|
| 教務處 | 教務主任、教學組長、註冊組長、設備組長、資訊組長 |
| 學務處 | 學務主任、訓育組長、生教組長、體育組長、衛生組長 |
| 輔導室 | 輔導主任、輔導組長、資料組長、特教組長 |
| 總務處 | 總務主任、事務組長、出納組長、文書組長 |
| 人事室 | 人事主任、人事管理員 |
| 會計室 | 會計主任、會計員 |
各 profile 都有自己的任務類型與 3 筆可選範例。新增處室時,只需在 Code.gs 的 OFFICE_PROFILES 加入設定,不必複製 CRUD、權限或看板程式。
Code.gs:處室 profiles、安裝、遷移、CRUD、權限、稽核、Sheet 與看板 APIInstaller.html:處室/職務安裝精靈Index.html:任務管理台Board.html:直向電子紙看板appsscript.json:GAS 時區、V8 與 Web App 設定tests/profile_config.test.js:處室設定的本機檢查Code.gs、Installer.html、Index.html、Board.html 與 appsscript.json 加入該 Apps Script 專案。也可以在 Apps Script 函式選單執行 installSystem() 開啟相同的安裝精靈。
安裝完成後會建立:
任務清單工作紀錄系統設定選項清單若偵測到舊版欄位,系統會先建立隱藏的 原始資料備份_yyyyMMdd_HHmmss 工作表,再轉成標準 19 欄資料契約。
你的部署網址你的部署網址?page=board在 系統設定 的 ALLOWED_DOMAIN 填入例如 school.edu.tw,可再限制登入網域。留空表示程式不額外檢查,但 Web App 部署權限仍是第一層防護。
再次開啟「校務任務系統 → 安裝/選擇處室」即可切換。切換時:
強制顯示:一定顯示隱藏:不顯示自動:高優先級、等待、進行中,或在 AUTO_SHOW_DAYS 天內到期時顯示此資料夾不含固定試算表 ID、Token 或學校資料,可直接作為 GitHub repository 的內容。若使用 clasp,請把個人的 .clasp.json 留在本機;本專案的 .gitignore 已排除它。
npm install -g @google/clasp
clasp login
clasp create --type sheets --title "校務行政每日任務管理系統"
clasp push
clasp create 產生的 .clasp.json 含個人 Script ID,不建議提交公開 repository。
node tests/profile_config.test.js
# 或
npm test
GitHub Actions 也會在 push 與 pull request 時執行同一組檢查。
可依處室安裝的 Google Apps Script 校務行政每日任務管理與電子紙看板系統
根据分类、Topic 和编程语言匹配的相似项目。

React is a JavaScript library for building user interfaces with declarative, component-based, and cross-platform design.
A GPT‑image powered app that extracts individual garment cutouts from photos, organizes them into a digital wardrobe, and generates modeled outfit previews.
A browser-based first-person shooter built entirely with procedural generation and orchestrated AI agents, featuring 55k lines of Three.js/WebGL2 code and no art assets.