了解直覺

Directus 是一款開源的無頭CMS和數據平台, 它坐落在任何 SQL 數據庫之上, 即時提供灵活的 API 層和直覺的應用程式。 和傳統的CMS 不同, Directus 內觀您现有的數據庫的規劃, 產生一個动态的、完全自訂的介面。 這個方法讓開發者和內容團隊可以按自己的條件來運作資料, 而不鎖入僵硬的内容模型。 它與 Node.js 和 Vue.js 一起建設, 使其既輕巧又非常可推广, 適合於從簡單部落格到複雜的企業群管理系統等項目 。

Directus 的核心是接受「未被支持的資料」的概念。 它不強制預設的計算法、 移動系統或專有檔案儲存。 相反, 它尊重您的數據庫的目前狀態, 不管是從空白的計算法還是從现有的製作數據庫開始。 這個哲學使它成為了一個理想的伴隨者, 以讓各隊將現代的 CMS 整合到遺產系統中, 而不會造成破壞性大修 。

使直立者站出來的關鍵特點

Directus 裝備了一套很強的功能, 旨在精简內容管理及加速應用程式的發展。 它的功能集是故意的模块化的, 使團隊可以自由使用他們需要的。

  • Database- First 透過 : [[FLT: 1] Directus 不擁有您的資料。 它連接您的现有的 SQL 資料庫( MySQL, PostgreSQL, SQLite 等) , 并自動產生相应的 API 和 admin 面板。 这意味着您保留對資料的全部控制, 可以使用自己的移動工具, 並且可以直接查詢資料庫, 而不破壞 CMS 。
  • Dynamic REST和GraphQL APIs: 一旦找到數據庫表, Directus立即建立 REST 和 GraphQL 兩端點。 這些API 支持精细的權限、 過滤、 排序、 相關、 深層的關接。 GraphQL API 尤其能對需要精确資料查詢的前端應用程式進行強烈 。
  • 高度定制的App:[ 行政面板用Vue.js建構,完全可以白標。您可以自訂品牌、修改頁面布局、建立自訂檢視、以及新增內置的語言。基于作用的存取控制(RBAC)讓您可以定義每個使用者角色能看到和做的事情, 直達到字段層 。
  • 認證和安全: Directus支持一系列的認證提供商,包括本地電子郵件/密碼、Google、Facebook、Twitter、GitHub和SSO, 通過OpenID Connect。它也提供兩個要素的認證,IP白單,以及一個與您的使用者定義角色相關的全方位權限系統 。
  • 檔案與媒體管理: 多功能數位資產管理員讓您上傳、裁剪及整理檔案。 它包括空上影像變化, 並且可以將資產儲存在本地磁碟 S3 或其他雲存储适配器上。 這對车队平台至关重要, 您可以管理數以千計的車輛檢查照片或驅動程式文件 。
  • 通过延伸區的延伸: 平台支持自訂介面、顯示、布局、面板、勾子和端點。開發者可以以 npm 套件來公布其延伸區,也可以保持專案專案的特有性。 這個環境讓您可以完全按照您的領域來裁剪 Directus 經驗, 无论是物流、 保健或电子商务。

建筑深潜: 如何直接作用

在引擎罩下, Directus 由 API 伺服器 (“ core ”) 和 解開連結的客戶端端管理應用程式组成。 兩者都是 BSL 和 GPL 授權下的開源, 都有商业支持的版本。 當您在數據庫中指向 Directus 時, 它會分析表格和列, 探測資料的類型、 關係和限制, 然后建立一個元数据層, 描述每個收藏和字段。 此元資料庫被儲存在一個專用表格中, 確保您控制外不存在專有黑盒儲存 。

抽象層

一旦資料庫內置, Directus 就可以建立您資料的虛擬表示。 您可以重新命名表格為「 收集、 隱藏敏感欄目 」 , 並調整字段標籤和描述, 而不修改基本的 SQL 方案。 這個抽象化是完全的, 在 CMS 內的功能性。 資料庫沒有被任何其它客戶端或 SQL 工具所使用。 這表示您的電子數據庫可以繼續接收实时資料, 而內容團隊則使用 Directus 管理靜态車輛描述和驅動程式文件, 都保持了 和谐 。

API 產生與儲存

Directus 自動從中繼資料建立 OpenAPI 和 GraphQL 的樣本。 每份收藏都得到了自己的 REST 端點( GET, POST, PATCH, DELETE) , 上面有查詢參數, 包括聚合函數、 關係連結、 計算字段。 平台包括內置的密室以及支持 Redis 保持 API 的回應, 即使負重的載, 這是數以千計數的 數目記錄的 船隊儀表的基本功能 。

透過 WebSockets 实时更新

Directus提供WebSocket介面。 訂閱可以設定每集, 可以在資料變更時讓前端客戶收到即時通知。 這對車隊追蹤系統是無價的, 因為車輛的位置或狀態需要实时推進到儀表板上 。

Directus 和其他 CMS 平台的比對

也幫助將它與其他的代用品作對。

迪古斯對斯特拉皮

兩者都是建立於Node.js上的無頭CMS,但根本的區別在于數據庫哲學。 Strapi擁有數據庫的結構,處理移動和計算法定義本身。 另一方面, Directus 照應您现有的數據庫。 如果您已經有數百個表格的複雜的船隊管理數據庫, 而您想要在不改變這個計算法的情况下加入CMS層, Directus 則是明确的選擇。 Strapi的用法從頭就適合了專案, 並且讓 CMS 定義資料模型。

直升機對哈蘇拉

Hasura 是一款 GraphQL 引擎, 也可以透過資料庫, 顯示 GraphQL API。 然而, Hasura 不是 CMS; 它缺乏專門的內容編輯器管理面板。 Directus 既提供 API , 也提供完整的管理界面, 完整於 RBAC 、 媒體管理, 也提供灵活的使用者經驗。 對於日常操作需要非开发者使用者介面的應用程式, 就像一個船隊管理員更新驅動程式的程式, Directus 更实用 。

Directus vs. WordPress (作為無頭的CMS) 。

WordPress可以無端使用, 通過它的 REST API, 但它仍然與自己的資料規劃和「 post 」 概念相關。 Directus 并不強硬, 使其更適應非內容網站。 如果您的專案需要管理清查、感應資料或任何自訂的實體, Directus 提供更自然的適合性, 而不需要WordPress 的觀點結構。

實際世界船隊管理使用案例

一個「Fleet Directus 」的文章常常以內容管理與操作資料的交集為中心。 船隊產生大量信息 — — 车辆遥測、維護紀錄、駕駛文件、保險紀錄、路由分配和遵從報告。 Directus可以充当管理所有這些事的统一資料平台。

  • 司机和車輛描述檔 : [[FLT: 1] 使用Directus來建模車輛的細節、駕駛憑證、駕照到期和指定單位。 管理面板讓發送者可以更新狀態、上傳檢查照片, 并通过勾當啟動警示 。
  • 事件報告 : [[FLT: 1]] 自訂事件集可以捕捉時章、 GPS 座標、 損失描述和支援影像。 使用 API, 一個 Mobile app 可以直接提交報告, 而 admin app 可以作為符合 官員的審查介面 。
  • Mainance 排程 : [[FLT: 1] 建立與車輛相關的維持集。 設定 cron 工作或外部啟動器, 以查詢 Directus API 以辨識要服務的車輛, 並自動發出郵件提醒負責的隊伍 。
  • 媒體管理者組織合同、保險單和遵守表。 Directus的權限確保司機只能存取自己的文件, 而稽核員的閱讀權則更廣。
  • Real-Time Dashboard 集成 : 通过將 GraphQL API 和 Nuxt.js 或 Next.js 等前端文庫合并,您可以建立实时的机群儀表,在地圖、最近的警報和關鍵性能測量表上顯示車輛位置。 Directus的 WebSocket 支援讓資料保持新鮮, 不重新載入頁 。

Directus 直接坐落在您的操作數據庫上, 這些使用案例不需要將資料複製或同步到一個单独的CMS 儲存庫。 這會降低複雜性和暫時性, 一個對時間敏感的船隊操作的巨大優勢 。

啟動: 設立直線專案

安裝 Directus 可以在數分鐘內完成。 建議的方法是使用 CLI 或 Docker 官方影像。 对于想要原型的船隊公司, Dolecker 編譯設定與 Directus 和 PostgreSQL 容器是最快的路徑 。

  1. 推動 Docker 影像 : [ 以取得最新穩定版本 。
  2. 建立 Compact 檔案 : [[FLT: 1] 定義 Directus 和您所喜歡的資料庫的服務。 地圖環境變數如 ADMIN EMAIL、 ADMIN PASWORD、 SECRET 和數據庫憑證 。
  3. [ [FLT: 0] 啟動堆疊 : [[FLT: 1] [[FLT: 1]] 兩個容器。 Directus 在第一次執行中自動初始化, 在您的數據庫中建立必要的系統表 。
  4. 存取管理員的 App : [[FLT: 1] 导航到 [[FLT: 2] ] , 並登入管理員的證件。 您會看到空白的畫布, 準備接收您的資料 。
  5. 連接一個现有的資料庫: 如果您已經有船隊資料庫, 請用更新 DBQQ 環境變數來指點Directus。 重启後, 管理面板會顯示您的表格為收藏。 您可以設定字段標籤、 關係和權限 。

延伸直導以適應您的操作

Directus 的真正力量是它的延伸性。 自訂延伸讓您將平台建模為您的特定商業邏輯而不用設計核心。 這在船隊管理中至关重要, 工作流程常常涉及外部服務, 如天氣 API、 政府車輛登記器或VIN 解碼器 。

建立自訂介面和顯示

介面會定義字段的編輯方式( 例如, 日期拾取器、 GPS 座標的地圖選擇器 ) 。 顯示只讀檢視中如何顯示字段。 您可以建立自訂的「 車站狀態 」 介面, 顯示一個彩色編碼的徽章, 或是「 Route Optimizer 」 顯示器, 稱呼外部 API 以視像路徑。 這些都用 Vue.js 建立, 並且通过扩展目錄注册 。

建立網絡與事件钩

Directus 提供一個勾引系統, 以觸動項目建立、 更新或刪除等事件的邏輯。 例如, 當建立新的維持紀錄時, 勾引可以自動傳送通知給指定給此車的機械師。 Webhooks 可以從全球或從管理面板中每個收藏來配置, 可以與 Zapier, Slack 或自訂的中間軟件服務集成, 而不用寫入伺服器代碼 。

自訂 API 端點

如果动态 REST 或 GraphQL API 無法包含特定需求, 您可以在 Directus 伺服器中加入自訂的端點。 這些端點可以完全存取數據庫、 認證背景和核心服務。 一個船隊應用程式可能會暴露一個端點, 總的油耗會跨個日期範圍, 執行複雜的 SQL 加入, 而在一般 API 查詢中不易表示。 加入它會成為官方 API 的一部分, 並且從相同的認證與限速机制中获益 。

敏感船群資料的Directus安全模型

船隊管理涉及敏感的個人資料(司机駕駛證、電話號碼、位置)和機密的商業信息(合同、路由 ) 。 Directus 的颗粒式許可系統只确保經授权的使用者可以存取正確的資料。 您定義角色, 如「 司机 」 、 「 司机 」 、 「 主管 」 、 以及 「 審查人 」 ) , 並且為每個收集與個人字段指定許可使用。 許可使用任意的商業規則。 例如, 司機只可以在 ' 指定 'driver ' 字段符合使用者身份的车辆紀錄 。 API 、 IP 白單和 MFA 提供更多層安全, 適當符合要求 。

高卷數據的性能优化

如果您的數據庫有數百萬的遥測記錄, 性能就變得至高無上。 Directus 允許您直接加入數據庫索引( 因為它不擁有此程式) , API 也使用這些索引來加速查詢。 平台也支持限制速率、 資產的CDN 以及 Node.js 伺服器的水平縮放。 對於報告式重用例, 您可以在數據庫中建立實化的檢視, 并登記為 Directus 中只讀的收藏, 提供快速存取預整資料的功能, 而不必對主表格征税 。

Directus 社区和生态系统

Directus 受益于一個正在使用的開源社群, 提供延伸、 主題和藍圖。 [[FLT: 0]] GitHub 討論 [[FLT: 1] 板和 [[FLT: 2] Directus Discord 伺服器[[ 是取得幫助或分享你隊列實施故事的极佳地方。 核心團隊保持了包含平台方方面面的完整文件[ 。 對企業而言, [[FLT: 6] Directus Cloud[[[FLT: 7] ) 提供了管理下的托管選擇, 處理大小縮放、備份和更新, 讓你的隊隊隊隊隊從基建的關慮中解脫離。

未來的驗證您的船隊資料堆疊

選擇 Directus 表示您沒有將您的關鍵船隊操作鎖定在專有的環境中。 因為您的資料位於标准的 SQL 資料庫中, 您保留了 SQL 的全部權力, 供您在報告、 ETL 流程、 整合與 Metatabase 或 Power BI 等 BI 工具。 如果您決定移離 Directus , 您的數據模型及其所有完整性都保持完整, 供售商全鎖。 這個數據庫第一策略完全符合 船隊資產管理中需要的長期思考, 車輛的生命周期和管制記錄都將數十年。 您將 Directus 視為輕量、 強大的數據前端而不是單立的系統, 您的機構為您的船隊操作建立一個具有弹性和適應性的科技基礎 。