設計原則
Paideia LMS 建立在六個核心設計原則之上,這些原則指導我們的開發並確保平台兌現其承諾。這些原則解釋了我們為什麼構建 Paideia、它解決的問題,以及為什麼 Paideia 可能是你機構的最佳選擇。
Paideia 從一開始就使用最新技術和最佳實踐構建。 這意味著沒有遺留程式碼,沒有技術債務,也無需支援過時的模式。我們選擇了高效能、可維護且具有良好前景的技術。
相比之下,Moodle 和 Canvas 等傳統 LMS 平台是多年前使用舊技術構建的。多年來積累的技術債務使它們難以維護、更新緩慢且部署複雜。這些平台經常面臨效能問題、安全漏洞,需要大量資源來維護。
Paideia 的現代技術棧 — Bun 執行時、React Router v7、Elysia 和 TypeScript — 使我們能夠提供高效能、可維護的平台,可以與最新的 Web 標準一起發展。我們對現代技術的關注意味著你獲得一個為今天的需求和明天的機會而構建的平台。
穩健的設計決策
Section titled “穩健的設計決策”Paideia 建立在以 React 為核心的堅實基礎上。 我們選擇 React 是因為它經過實戰考驗、被廣泛採用,並擁有龐大的生態系統。結合 Mantine 元件,我們提供一致、現代且強大且易於存取的 UI。
我們的架構決策從一開始就是生產級的。我們使用:
- 全面類型生成的類型安全 TypeScript
- 基於結果的錯誤處理,而不是 try-catch 塊
- 基於事務的資料庫操作以確保資料完整性
- 非破壞性、向後相容的遷移
- 嚴格的編碼標準,內部函數零類型轉換
這種穩健的基礎意味著 Paideia 可靠、可維護,並且從一開始就準備好用於生產。你無需等待我們”強化”平台 — 它從一開始就採用企業級實踐構建。
Paideia 提供開箱即用的全面 LMS 功能。 在短短 30 天的開發中,我們構建了一個完整的學習管理系統,包含 27 個資料庫集合,涵蓋所有基本 LMS 功能。
Paideia 包括:
- 帶章節和類別的課程管理
- 帶基於角色的存取控制(管理員、內容管理器、分析查看者、講師、學生)的使用者管理
- 活動模組:頁面、白板、作業、測驗和討論
- 帶拖放介面的進階測驗構建器
- 帶類別和項目的成績簿系統
- 帶組的註冊管理
- 帶 S3 整合的媒體儲存
- 搜尋功能
- LTI(學習工具互通性)支援,用於與外部工具無縫整合
- 內建到平台的 AI 原生功能
- 內建 Microsoft 整合(Teams、OneDrive、Office 365)
與其他需要插件或大量設定的平台不同,Paideia 開箱即用,功能完整。你無需尋找插件、擔心相容性或管理複雜的依賴關係。
Paideia 部署為單一二進制檔案 — 下載並執行。 這種設計靈感來自最受歡迎的開源項目之一 PocketBase,它徹底改變了後端應用程式的部署方式。無需複雜設定,無需設定多個服務,無需依賴管理。只需為你的平台(macOS ARM64、Linux ARM64 或 Linux x64)下載二進制檔案,使其可執行,然後執行即可。
這與需要以下內容的傳統 LMS 平台形成對比:
- 多個服務(Web 伺服器、資料庫、應用伺服器)
- 複雜的設定檔
- 依賴管理
- 版本相容性問題
- 持續維護和更新
使用 Paideia,部署只需幾分鐘,而不是幾小時或幾天。啟動 PostgreSQL 資料庫和 S3 相容儲存,設定環境變數,你就可以開始了。單一二進制方法意味著跨環境的一致行為和輕鬆更新 — 只需替換二進制檔案。
Paideia 使用 PostgreSQL 和 S3 作為其基礎 — 佔用空間小但可大規模擴展。 PostgreSQL 是最可靠和可擴展的資料庫之一,受到各種規模公司的信任。S3 相容儲存提供無限儲存容量,具有行業標準的可靠性。
這種方法意味著:
- 佔用空間小: Paideia 本身是輕量的,基礎設施(PostgreSQL + S3)是你在任何生產系統中都會使用的
- 大規模可擴展: PostgreSQL 處理數百萬條記錄,S3 可擴展到艾位元組
- 經過驗證的可靠性: 這兩種技術都在全球生產環境中經過實戰考驗
- 成本效益: 你只需為使用的部分付費,可以在擴展時優化成本
無論你服務 100 名學生還是 100,000 名,Paideia 的架構都能與你一起擴展。資料庫和儲存層設計用於處理增長,Paideia 的高效查詢確保隨著資料增長保持一致的效能。
Paideia 避免了困擾 Moodle 和 Canvas 的插件架構。 而不是導致相容性問題、管理開銷和安全問題的插件系統,Paideia 包含所有基本的内建功能。
具有插件架構的傳統 LMS 平台面臨幾個問題:
- 插件相容性: 更新可能破壞插件,需要持續維護
- 安全漏洞: 每個插件都是潛在的安全風險
- 管理開銷: 追蹤插件、更新和依賴關係
- 效能問題: 編寫不當的插件可能拖慢整個系統
- 供應商鎖定: 某些插件僅限商業使用,增加了成本
Paideia 的方法不同。我們包含所有基本的内建功能,因此你不需要核心功能的插件。這意味著:
- 無相容性擔憂
- 更好的安全性(更少的活動部件)
- 更容易管理
- 一致的效能
- 無供應商鎖定
如果你需要自訂功能,Paideia 的現代程式碼庫易於擴展。但與 Moodle 和 Canvas 不同,你不需要基本功能的插件 — 它們都已包含在內。
Paideia 完全無狀態 — 所有資料都儲存在 PostgreSQL 和 S3 中。 這種無狀態設計意味著 Paideia 不在伺服器本身儲存任何資料或狀態。所有內容 — 課程、使用者、作業、成績、媒體檔案 — 都儲存在 PostgreSQL(用於結構化資料)和 S3(用於媒體和檔案)中。
這種架構帶來幾個好處:
-
大規模可擴展: 由於伺服器上沒有資料,你可以通過簡單地添加更多應用實例將 Paideia 擴展到數百萬使用者。資料庫和儲存層獨立處理規模。
-
易於遷移: 遷移 Paideia 非常簡單,因為伺服器上不儲存任何內容。只需將新的 Paideia 實例指向相同的 PostgreSQL 資料庫和 S3 儲存,就完成了。無需資料匯出/匯入,無需複雜的遷移腳本。
-
高可用性: 無狀態設計意味著你可以在負載平衡器後面執行多個 Paideia 實例。如果一個實例宕機,其他實例會無縫地繼續處理請求。
-
零停機部署: 通過簡單地替換二進制檔案並重啟服務來更新 Paideia。無需資料遷移,因為資料獨立存在於 PostgreSQL 和 S3 中。
