將本系統複製到貴校,30 分鐘完成部署
本系統為開源公版,任何學校皆可免費複製使用,無需授權費。系統以 MIT License 釋出——可自由修改、二次部署,僅需保留原始版本的著作聲明即可。
| 項目 | 說明 | 必要性 |
|---|---|---|
| GitHub 帳號 | 用於存放程式碼與部署前端到 GitHub Pages | 必要 |
| Google 帳號(個人) | 建立 Firebase 專案用,建議使用管理者個人帳號 | 必要 |
| 學校 Google Workspace 網域 | 例如 @gm.yourschool.edu.tw,用於限制登入範圍 |
必要 |
| Gmail 應用程式密碼 | 用於發送 Email 通知。開啟兩步驟驗證後可在 Google 帳號安全性頁面產生。 | 必要 |
| Node.js 22(本機) | 安裝到本機電腦,用於執行部署指令 | 必要 |
| Git(本機) | 版本控制工具,推送程式碼至 GitHub | 必要 |
| Firebase CLI | 部署 Cloud Functions 和 Firestore 規則用 | 必要 |
開啟終端機(Windows PowerShell 或 macOS Terminal),依序執行:
repair),點擊 Create forkgit pull upstream main)。如果只是要拿來用而不在意後續更新,用 Download ZIP 解壓縮也可以。yourschool-repair),完成建立(Google Analytics 可視需要開啟或關閉)你的GitHub帳號.github.iobegin0808.github.io)
repair-web),不需勾選 Firebase Hosting,點擊「Register app」firebaseConfig 物件,待下一步驟使用:
Firebase 左下角 → 目前方案「Spark」→ 點擊升級 → 選擇 Blaze(隨用隨付)。需綁定信用卡,但一般學校使用量每月費用幾乎為 $0。
將 firebaseConfig 替換為您在 Firebase Console 取得的設定,並修改 hd(Google OAuth hosted domain)為貴校網域:
如果您的 Repository 名稱不是 repair,需要修改 base:
同時修改 src/App.jsx 第 17 行的 basename:
以及 public/404.html 第 12 行的路徑前綴:
存檔後可在本機預覽是否正常:
瀏覽器開啟 http://localhost:5173/你的Repository名稱/,應能看到登入頁面。
前往您的 GitHub Repository → Settings → Secrets and variables → Actions → New repository secret,依序新增以下 5 個 Secrets:
| Secret 名稱 | 值(從哪裡取得) |
|---|---|
VITE_FIREBASE_API_KEY | Firebase Console → 專案設定 → 您的 Web App → apiKey |
VITE_FIREBASE_AUTH_DOMAIN | 同上 → authDomain |
VITE_FIREBASE_PROJECT_ID | 同上 → projectId |
VITE_FIREBASE_MESSAGING_SENDER_ID | 同上 → messagingSenderId |
VITE_FIREBASE_APP_ID | 同上 → appId |
https://你的帳號.github.io/你的Repository名稱/ 確認頁面正常vite.config.js 的 base 與 Repository 名稱完全相同(含大小寫)。全部成功後會顯示 Deploy complete!。若遇到 IAM 權限錯誤,請參考常見問題 Q1。
系統上線後,需在 Firebase Console 手動建立第一筆管理員記錄。
adminsrole(字串)= superadmin
登入系統後,前往導覽列「📍 地點」,新增貴校的大樓與場域名稱。建議項目:
報修者選擇大樓後,可在「詳細位置」欄自由填寫,不需為每間教室都建一筆資料。
| # | 檢查項目 | 驗證方式 |
|---|---|---|
| 1 | 用學校帳號可以登入,個人 Gmail 無法登入 | 分別測試登入 |
| 2 | 登入後看到報修清單頁面 | 目視確認 |
| 3 | 可以提交一筆測試報修單 | 填表提交 |
| 4 | 提交後管理員收到 Email 通知 | 查看信箱 |
| 5 | 總務將報修標記為「已完成」,提報人收到通知 | 查看提報人信箱 |
| 6 | 統計儀表板圖表正常顯示 | 前往 /dashboard |
| 7 | 超管可以新增 / 移除管理員 | 前往 /admins 操作 |
| 8 | Firestore 安全性規則已部署(非測試模式) | Firebase Console → Firestore → 規則 |
錯誤訊息通常為「Access to bucket gcf-sources-... denied」。解決步驟:
XXXXXXXX-compute@developer.gserviceaccount.com 這個服務帳號firebase deploy --only functions請確認 Firebase Authentication → Settings → Authorized domains 中已加入 你的帳號.github.io(不含 https://)。若使用自訂網域,也需要加入自訂網域。
firebase functions:config:set 時 Gmail 密碼已去除空格(16 碼,無空格)vite.config.js 的 base 與 Repository 名稱完全一致src/App.jsx 的 basename 也一致public/404.html 中的路徑前綴也已修改git push 觸發重新部署目前版本僅支援 Google Workspace 帳號。若學校使用 Microsoft 365 / Outlook,需要將 Firebase Auth 的 Google Provider 改為 Microsoft Provider,並對應修改網域驗證邏輯。這屬於較進階的修改,建議有開發能力的人員協助處理。
合併後請重新檢查您自訂的學校設定是否被覆蓋,必要時重新修改。