← 回報告中心
P207 飛英任務 · 交接啟動

系統架構概覽

高中英語口說及寫作遊戲開發與推廣計畫,第二期自 2024 年 5 月起籌備啟動, 歷經四個階段的開發與驗收,目前持續維運中。 這一頁用四張架構圖,加上點對點的問答,說明這套系統目前的組成與運作方式。

委託單位:國立彰化師範大學 執行廠商:卡米爾 2026 年 7 月 29 日

怎麼讀這一頁

先看圖。四張圖由上而下,從整體到細節:第一張是全案的樣貌, 第二張是主機內部,第三、四張分別是兩部遊戲。每張圖下方有幾行「看這張圖的重點」。

再看問答。後半段是常見問題的直接回答, 包含幾個容易產生理解落差的地方。

圖為向量格式,可自由放大縮小。每張圖下方都有「另開大圖」連結。

Part 1

四張架構圖

這四張圖是本計畫架構文件的核心,依實際的程式碼與部署設定繪製。 由整體逐層向內展開。

圖 1 · C1

全景圖:一張圖看全案

從使用者的角度看,這個計畫由哪些部分組成。除了教育部主機上的服務, 還包含外部的登入機制、幾項線上資源,以及共用的協作試算表。

全景圖:使用者從計畫首頁進入,分流至第一部與第二部遊戲,兩者皆導向因材網 SSO 登入;另有 Google 帳號下的說明網站、手冊、回報表單與影音資源,以及共用的協作試算表。
圖較寬,可左右捲動 另開大圖
看這張圖的重點
01
使用者一律從計畫首頁進入,再選擇第一部或第二部遊戲。
02
兩部遊戲都會導向教育部因材網登入,通過後才進入遊戲內容。
03
計畫的組成不只主機。操作說明、遊戲手冊、問題回報、教學影音 是四項獨立的線上資源,各自有其存放位置。
04
右下角的協作試算表是工單與數據回報的管道, 既是溝通工具,也是履約紀錄。
圖 2 · C2-0

主機內部:分流與容器

主機內部怎麼運作。所有請求先經過一個反向代理程式, 它依照網址路徑把請求送到四個不同的落點,圖上標示為 001 至 004。

主機內部圖:因材網 CDN 的五條路徑進入 nginx 容器,nginx 依 001 至 004 分流至靜態檔掛載點與兩個後端容器;plant_server 連接 Unity 建置產物、使用者資料與每日備份,botrun-server 連接 mongo 與 redis。
圖較寬,可左右捲動 另開大圖
看這張圖的重點
01
整套服務在同一台主機上,位於教育部機房,以容器方式各自運行。
02
001 與 004 是直接提供檔案——代理程式手上就有資料,直接回應。 001 是第二部遊戲的網頁檔,004 是計畫首頁。
03
002 與 003 是轉給後端處理。002 轉往第二部後端,003 轉往第一部後端。
04
兩個後端各自搭配不同的儲存方式:第一部後端接檔案儲存與每日備份, 第二部後端接 MongoDB 與 Redis。這是理解全案的關鍵分野。
圖 3 · C2-1

第一部遊戲(Unity)

以 Unity 遊戲引擎製作、可在瀏覽器直接執行的互動遊戲。 後端同時負責登入收口、學習紀錄、排行榜與兌換碼。

第一部架構圖:使用者瀏覽器載入 Unity WebGL 靜態檔,向 plant_server 後端請求;後端連接本機檔案系統與每日備份,並串接 Google Sheets、ELSA Speak、Whisper 與語言模型,以及因材網 SSO 與第二部後端。
圖較寬,可左右捲動 另開大圖
看這張圖的重點
01
遊戲本體是一包靜態檔,下載到使用者的瀏覽器執行, 只有需要記錄或評分時才回頭與後端溝通。
02
使用者資料以檔案形式儲存於主機,每日打包成壓縮檔備份。
03
關卡、劇情、題目與兌換碼放在 Google 試算表,由後端直接讀取。 調整內容不需要修改程式。
04
發音評分、語音辨識與語言模型皆為外部服務,以帳號方式介接。
05
圖右下角那條線:第一部會為使用者換發第二部的通行證, 兩部之間因此不需重複登入。
圖 4 · C2-2

第二部遊戲(React)

以 React 製作的 SDGs 主題學習網站,內容涵蓋課程地圖、AI 對話、寫作、 學習歷程與多人房間,並另有一套獨立的管理後台。

第二部架構圖:使用者瀏覽器連 React SPA、管理者瀏覽器連獨立打包的 Admin SPA,兩者共用 sdgs_back 後端;後端連接 MongoDB、Redis 與容器儲存區,並串接語言模型、語音合成辨識與影像生成服務;第一部後端帶 token 導入。
圖較寬,可左右捲動 另開大圖
看這張圖的重點
01
其實是兩個網站:學生使用的主站,與管理者使用的後台。 兩者各自獨立打包,網址不同。
02
兩個網站共用同一個後端。後台上稿完成,主站即時反映。
03
資料存於 MongoDBRedis 負責多人房間的即時狀態。
04
主站與後端之間除了一般請求,還有 WebSocket 即時連線, 多人互動靠這條線同步。
05
語言模型、語音合成與辨識、影像生成皆為外部服務, 分屬不同供應商。
Part 2

常見問題

以下是接觸這套系統時最常出現的問題,逐題直接回答。 其中幾題標示為「關鍵理解」,是理解本案架構的分水嶺。

系統的組成

整套系統跑在幾台主機上?

一台。位於教育部機房的 Linux 虛擬主機。兩部遊戲的前端與後端都在這台上,以容器方式各自運行。

使用者看到的網址屬於誰?

教育部因材網(adl.edu.tw)。本計畫的服務掛載在該網域底下的路徑,透過因材網對外提供。 使用者不會直接連到主機本身。

除了主機,計畫還包含哪些東西?

操作說明網站、遊戲手冊、問題回報表單、教學影音,以及共用的協作試算表。 這些不在主機上,但都是計畫實際運作的一部分。

關鍵理解

看主機只看得到一半。要完整掌握這個計畫,需要同時涵蓋主機上的服務, 以及主機之外的這些線上資源。

兩部遊戲的差異

為什麼第一部和第二部的技術完全不一樣?

這是計畫跨期程演進的結果。第一部以 Unity 遊戲引擎製作, 適合沉浸式的互動遊戲體驗;第二部以 React 製作, 適合網站型的學習內容、學習歷程與後台管理需求。

兩者面對的產品目標不同,技術選擇也隨之不同。過程中系統持續進行版本升級, 兩部之間的差異是階段性演進累積下來的樣貌。

兩部的資料儲存方式為什麼不同?

第一部採檔案儲存——每位使用者一組獨立的資料檔; 第二部採 MongoDB 資料庫

關鍵理解

這是最容易產生落差的一點。若以「資料表結構」的角度詢問第一部, 會發現找不到對應的答案——因為它的設計本來就不是資料表。 第一部要看的是檔案怎麼擺、每個欄位代表什麼; 第二部才適用資料庫結構的問法。

兩部遊戲之間有沒有關聯?

有一條。使用者從第一部進入第二部時,第一部會為其換發第二部的通行證, 因此不需要重新登入。這是兩部之間唯一的直接連結。

有沒有一張表可以快速對照兩部?

第一部第二部
技術Unity 遊戲引擎React
執行位置整包載入瀏覽器端執行一般網站,邊看邊取資料
資料儲存檔案儲存MongoDB 資料庫
即時互動由後端處理Redis + WebSocket
內容維護Google 試算表管理後台上稿
管理後台無獨立後台有,獨立網站
備份方式每日打包壓縮檔交接文件中說明

登入與帳號

學生怎麼登入?

一律使用教育部因材網帳號。系統本身不另設帳號密碼。 進入遊戲時會自動導向因材網登入,通過後才進入遊戲內容。

管理者從哪裡進後台?

第二部設有獨立的管理後台,網址在主站之後加上後台路徑, 是一套與主站分開打包的網站,功能涵蓋內容上稿、機器人管理、語音預先產製與報表。

內容與資料

遊戲的題目和關卡在哪裡維護?

第一部的關卡、劇情、題目與兌換碼放在 Google 試算表, 後端直接讀取,因此調整內容不需要修改程式或重新部署。 第二部則透過管理後台上稿。

關鍵理解

這代表「內容」與「程式」是分開的。 要完整掌握第一部的運作,除了程式碼,也需要一併取得這些試算表—— 它們不會出現在任何程式碼或資料庫備份裡。

資料怎麼備份?

第一部每日將使用者資料打包成壓縮檔存放於主機。 第二部的備份機制列入交接文件的說明範圍。

原始碼的狀況?

已於 2025 年 12 月提供正式版本予委託單位。 2026 年 8 月至 10 月將依進度陸續提供更新版本,涵蓋兩部遊戲的前端與後端。

外部服務

系統用到哪些外部服務?

第一部:發音評分、語音辨識、語言模型, 以及作為內容來源的 Google 試算表。

第二部:語言模型、語音合成、語音辨識、影像生成, 分屬不同供應商。

關鍵理解

這些服務以帳號方式介接,屬於持續性資源。 系統的 AI 相關功能依賴這些服務運作, 因此在盤點與規劃時需要把它們視為系統的一部分。

例行維運

例行的維運工作有哪些?

每日:向因材網上傳介接進度。
每月:填報因材網使用數據。
定期:更新共用的數據填報表。

三項皆以人工方式執行,透過共用的協作試算表進行。

問題回報怎麼走?

計畫共用一份協作試算表作為工單通道, 問題回報、討論與進度追蹤都在這份表上進行,是目前既有的溝通慣例。

這些例行工作會怎麼交接?

因為是人工作業,這些步驟需要以文件方式完整記錄。 維運移轉計畫書會逐項寫出:資料從哪裡取得、如何整理、 填入哪張表的哪個分頁、格式為何、所需時間。

並就每項工作錄製一次實際操作的螢幕錄影,隨文件一併提供。

關於這些圖

這些圖是怎麼來的?

全景圖依計畫的實務盤點繪製;三張細部圖依實際的程式碼、部署腳本與設定檔繪製。

四張圖之間是什麼關係?

全景圖呈現計畫的整體組成,包含主機上的服務與主機之外的資源; 三張細部圖則分別展開主機內部、第一部與第二部。

全景圖中以單一方塊表示的部分,可在對應的細部圖中看到完整內容—— 例如全景圖的「教育部主機」,展開後即為圖 2。

還有沒有其他的圖?

登入流程圖(因材網單一登入的完整動線)已完成繪製,將併入架構文件。

Part 3

可以先看的實際畫面

以下網址為公開頁面,不需要特殊權限,可直接開啟查看目前的實際樣貌。 進入遊戲內容時會導向因材網登入。