Q

剛好測

已連線

歡迎來到 剛好測

老師輕鬆出題,學生快樂學習

我是學生

輸入姓名,立即加入老師的測驗

我是老師

AI 輔助出題,啟用測驗與分析

本作品採用 CC BY-NC-SA 4.0 創用CC授權

歡迎非商業用途轉載、引用或改編,請保留「阿剛老師」署名,並附上本作品原始連結。

教師專用入口

教師管理儀表板

管理您的題庫與測驗狀態

目前正在進行中

{{ getActiveQuizTitle }}

進行中
{{ quiz.category || '未分類' }}

{{ quiz.title }}

建立於: {{ formatDate(quiz.createdAt) }}

此分類下沒有題庫

{{ editingQuizId ? '編輯題庫' : '建立新題庫' }}

閱讀測驗設定

使用模型: {{ currentModelName }}
PIRLS閱讀理解層次設定

總題數:{{ (readingConfig.pirlsLevels.retrieval || 0) + (readingConfig.pirlsLevels.inference || 0) + (readingConfig.pirlsLevels.interpretation || 0) + (readingConfig.pirlsLevels.evaluation || 0) }} 題

使用模型: {{ currentModelName }}
AI 將根據您提供的內容和配對方向生成配對題目。

提示:描述配對的類型可以讓 AI 生成更精確的題目

圖片已載入 PDF 解析中...

建議 3-10 組配對

使用模型: {{ currentModelName }}

格式說明 (每行一組配對,用 Tab 或 逗號 分隔):

左側項目, 右側項目

例如:事件配對、詞彙配對、人物與事蹟配對等

配對組合 ({{ newQuiz.matchingPairs.length }} 組)

配對 {{ idx + 1 }}
左側
{{ pair.left }}
右側
{{ pair.right }}
AI 將自動從您提供的內容抓取重點並生成題目。
圖片已載入 PDF 解析中...
使用模型: {{ currentModelName }}

格式說明 (每行一題,用 Tab 或 逗號 分隔):

題目, 答案(1-4或a-d), 選項A, 選項B, 選項C, 選項D, 解析(選填)

題目列表 ({{ newQuiz.questions.length }} 題)

{{ idx + 1 }}. {{ q.title }}
{{ q.difficulty || '一般' }} {{ getPirlsLevelName(q.pirlsLevel) }}
{{ String.fromCharCode(65+i) }}. {{ opt }}

💡 {{ q.explanation }}

尚未加入任何題目

{{ currentEditingQuestionIndex === -1 ? '新增題目' : '編輯題目' }}

{{ String.fromCharCode(65+i) }}

{{ selectedAnalyticsQuiz.title }} - 分析報告

共 {{ analyticsData.length }} 位學生作答

學生姓名 得分 操作
{{ res.studentName }} {{ res.score }}
尚無學生作答記錄

配對題分析

配對測驗為整體評分,下方為各組配對的正確率統計

配對 {{ stat.index + 1 }}

答對率 {{ stat.rate }}%
左側項目
{{ stat.pair.left }}
右側項目 (正確答案)
{{ stat.pair.right }}
查看答錯名單 ({{ stat.wrongStudents.length }}人)
{{ ws.name }} {{ ws.choice }}
全班答對,太棒了!

Q{{ stat.index + 1 }} {{ stat.question.title }}

答對率 {{ stat.rate }}%
{{ String.fromCharCode(65+i) }}. {{ opt }} 正確答案
查看答錯名單 ({{ stat.wrongStudents.length }}人)
{{ ws.name }} 選了 {{ String.fromCharCode(64 + parseInt(ws.choice)) }} 未作答
全班答對,太棒了!
暫無試題數據
學生姓名

{{ selectedStudentResult.studentName }}

測驗得分
{{ selectedStudentResult.score }}

學生畫記內容

此處僅為顯示學生畫記結果,無法編輯。

學生答題詳情

配對 {{ leftIdx + 1 }}
左側項目 {{ pair.left }}
學生配對 {{ getStudentMatchingAnswer(leftIdx) || '未作答' }}
正確答案 {{ pair.right }}
{{ idx + 1 }}. {{ q.title }}
學生回答: {{ q.options[selectedStudentResult.answers[idx]-1] || '未作答' }}
正確答案: {{ q.options[q.answer-1] }}

準備測驗

請輸入您的姓名,系統將自動載入老師啟用的測驗

已偵測到進行中的測驗
等待老師啟用測驗...
考生:{{ studentName }}
第 {{ currentQuestionIndex + 1 }} / {{ activeQuiz.questions.length }} 題
考生:{{ studentName }}
配對測驗

閱讀文本

題目

{{ getPirlsLevelName(activeQuiz.questions[currentQuestionIndex].pirlsLevel) }}

{{ activeQuiz.questions[currentQuestionIndex].title }}

{{ activeQuiz.questions[currentQuestionIndex].title }}

拖曳配對遊戲

將藍色右側卡片拖動到對應的紫色左側項目配對區

{{ matchingZones.filter(zone => zone.cards.length === 2).length }}/{{ activeQuiz.matchingPairs.length }}
已完成
🎉

操作說明

每個配對區已放置一個左側項目(紫色),請從右側卡片區拖動右側項目(藍色)到對應的配對區進行配對

配對區

{{ idx + 1 }}
{{ card.text }}

右側項目卡片區 剩餘 {{ availableCards.length }} 張

所有卡片都已使用!

{{ card.text }}

{{ activeQuiz.title }}

{{ score }}

做的好,{{ studentName }}!

詳細解析

{{ idx + 1 }}. {{ q.title }}

您的答案: {{ q.options[studentAnswers[idx]-1] }}
正確答案: {{ q.options[q.answer-1] }}
{{ q.explanation || '無解析' }}

配對 {{ leftIdx + 1 }}

左側項目 {{ pair.left }}
您的配對 {{ getStudentMatchingAnswerText(leftIdx) || '未作答' }}
正確答案 {{ pair.right }}

匯出題庫

系統設定

資料庫連接

設定方式說明

方式一:本機暫存 (適合測試)

將 Config 貼在下方,設定僅存在此瀏覽器。若清除快取需重新輸入。

方式二:永久寫入 (適合發布)

直接編輯 index.html 原始碼,將內容填入 manualConfig 變數。學生開啟網頁即可直接使用,無需任何設定。

已連接 Firebase 資料庫

AI API 設定

如何取得及設定 API Key:

您可以透過 Google AI Studio 取得免費的 Gemini API Key。

點此前往 Google AI Studio 申請 API Key

申請後,將 API Key 貼到下方的輸入框即可自動儲存。

已儲存

不同模型有不同的特性和效能,可依需求切換

分享應用程式

教師用分享 (完整功能)

此連結包含設定檔,供其他教師或您自己在其他裝置上使用。

學生專用分享 (簡化介面)

學生將只能看到學生登入畫面,無法進入教師後台或更改設定。

更新日誌
{{ log.date }}: {{ log.desc }}

危險區域

Firebase 設定詳細教學

請依照步驟完成專案建置

1

建立專案

前往 Firebase Console,點擊「新增專案 (Create a project)」,輸入專案名稱並完成建立。

2

新增 Web 應用程式 & 取得 Config

進入專案後,點擊首頁上方的 Web 圖示 ( </> )。

  • 輸入 App 暱稱 (例如: Quiz App)。
  • 點擊「註冊應用程式 (Register app)」。
  • 關鍵步驟:複製出現的 const firebaseConfig = { ... } 程式碼區塊。

進階:如何寫死設定 (Hardcode)

若您希望學生打開網頁即可直接使用,無需掃描 QR Code 或輸入設定,請執行此步驟:

  1. 使用文字編輯器 (如 Notepad, VS Code) 開啟 index.html 檔案。
  2. 搜尋關鍵字 const manualConfig = {
  3. 將剛剛複製的 apiKey 等內容,貼入該物件的大括號中。
  4. 儲存檔案,將此 HTML 檔案傳送給學生或部署到網站即可。
3

開啟 Authentication (驗證)

在左側選單點擊「建置 (Build)」>「Authentication」。

  • 點擊「開始使用 (Get started)」。
  • 切換到「Sign-in method」頁籤。
  • 選擇「匿名 (Anonymous)」,將開關 啟用 並儲存。
4

建立 Firestore 資料庫

在左側選單點擊「建置 (Build)」>「Firestore Database」。

  • 點擊「建立資料庫 (Create database)」。
  • 選擇「以測試模式啟動 (Start in test mode)」(方便快速測試)。
  • 選擇位置 (Location),通常選預設即可,等待建立完成。
5

設定安全性規則 (建議)

在 Firestore 頁面上方切換到「規則 (Rules)」頁籤,貼上以下規則以確保權限正確:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /config/quizStatus {
      allow read, write: if true;
    }
    match /quizzes/{quizId} {
      allow read: if true;
      allow create, delete: if request.auth != null;
    }
    match /results/{resultId} {
      allow create, read: if true;
    }
  }
}

{{ modalState.title }}

{{ modalState.message }}

AI 生成中

正在使用 AI 為您生成內容,請稍候...

{{ currentModelName }}
這可能需要幾秒鐘時間

{{ qrModalTitle }}

點擊畫面任意處關閉