直接的理解

Directusは、任意のSQLデータベースの上に座っているオープンソースのヘッドレスCMSとデータプラットフォームで、即座に柔軟なAPIレイヤーと直感的な管理アプリを提供します。 従来のCMSとは異なり、データ構造を指示する、Directusは既存のデータベーススキーマを調べ、動的で完全にカスタマイズ可能なインターフェイスを生成します。 このアプローチにより、開発者やコンテンツチームは、厳格なコンテンツモデルにロックされていない、自分の条件でデータを操作することができます。 これはNode.jsとVuejsで構築されています。 これにより、企業やブログの複雑なプロジェクトから、非常に簡単にプロジェクトを構成できます。

コアでは、Directus は「未愛のデータ」という概念を組み入れています。デフォルトスキーマ、マイグレーションシステム、または独自のファイルストレージを強制しません。代わりに、データベースの現在の状態を、空白のスキーマや既存のプロダクションデータベースから始めるかどうかを尊重します。この哲学は、段階的な導入のための理想的な仲間になり、チームは破壊的なオーバーホールなしで、従来の CMS を従来のシステムに統合することができます。

ダイレクトススタンドアウトする主な特徴

ダイレクトスは、コンテンツ管理を合理化し、アプリケーション開発を加速する機能の豊富なセットをパックします。その機能セットは、意図的にモジュール式で、必要な機能だけを自由に使用できるようにチームを提供します。

  • [データベースファースト・アプローチ:[] ディレクティブは、データを所有していません。既存の SQL データベース (MySQL、PostgreSQL、SQLiteなど) に接続し、対応する API と admin パネルを自動的に生成します。これにより、データを完全に制御し、独自のマイグレーションツールを使用して、CMSを破らずにデータベースを直接問い合わせることができます。
  • [ダイナミックRESTとGraphQL API:[]] はデータベーステーブルが識別されるとすぐに、Directusは即座にRESTとGraphQLエンドポイントの両方を生成します。 これらのAPIは、細かいグラインドされたパーミッション、フィルタリング、ソート、パジネーション、および深いリレーショナルフェッチをサポートしています。 グラフQL APIは、正確なデータクエリを必要とするフロントエンドアプリケーションに特に強力です。
  • []高度にカスタマイズ可能な管理者アプリ:[管理パネルはVue.jsで構築され、完全にホワイトラベル付け可能です。 ブランディングをカスタマイズしたり、ページレイアウトを変更したり、カスタムビューを作成したり、オーダーメイドのビルドインページを追加したりできます。 ロールベースのアクセス制御(RBAC)を使用すると、各ユーザーロールがフィールドレベルまで表示および実行できるものを定義できます。
  • [Authentication and Security:[] ディレクティブは、ローカルメール/パスワード、Google、Facebook、Twitter、GitHub、およびSSOを含むオースプロバイダーの範囲をサポートしています。 また、ユーザー定義のロールに結びつく2要素認証、IPホワイトリスト、および包括的な権限システムも提供しています。
  • [ファイルとメディア管理:[]]] 多彩なデジタルアセットマネージャーは、ファイルをアップロード、クロップ、および整理することができます。 オンザフライ画像変換を含みます。 ローカルディスク、S3、または他のクラウドストレージアダプタにアセットを保存することができます。 これは、車両検査写真やドライバー文書の何千ものを管理することができるフリートプラットフォームにとって重要です。
  • [:[]拡張機能を使って拡張性を拡張します。プラットフォームは、カスタムインターフェイス、ディスプレイ、レイアウト、パネル、ホック、エンドポイントをサポートしています。開発者は、npmパッケージとして拡張機能を公開したり、プロジェクト固有の拡張機能を維持したりすることができます。このエコシステムは、物流、ヘルスケア、eコマースであっても、直接、ドメインにエクスペリエンスを正確に調整することができます。

建築ディープ・ダイブ: 直接的な仕組み

フードの下、Directus は API サーバー(「コア」)とデカップリングされたクライアント・サイドの管理者アプリで構成されます。どちらも、BSL および GPL ライセンスのオープンソースで、商用でサポートされているバージョンが利用できます。データベースで Directus を指すと、テーブルと列を分析し、データの種類、関係、制約を検出し、各コレクションとフィールドを記述するメタデータレイヤーを生成します。このメタデータは、同じデータベース内のテーブルのセットに保存され、独自のストレージが存在しないことを確認します。

抽象的な層

データベースが検出されると、Directus はデータの仮想表現を作成します。テーブルを「コレクション」に名前を変更し、機密カラムを隠したり、フィールドラベルや説明を調整したりできます。これにより、SQL スキーマをアンダーリーティングすることなく、すべてのフィールドラベルと説明を調整できます。この抽象化は、純粋に CMS 内での化粧品と機能です。データベースは、他のクライアントや SQL ツールから、非接触で完全に操作的です。フリート アプリケーションの場合、テレマティックス データベースはリアルタイムのデータをそのまま保存し、すべてのドライバーと直接のコラボレーションを行なうために、すべてのドライバーと直接のドキュメントを管理するために、すべてのドライバーを直接管理します。

API の生成とキャッシュ

Directus は、メタデータから OpenAPI と GraphQL スキーマを自動的に作成します。すべてのコレクションは、独自の REST エンドポイント (GET、POST、PATCH、DELETE) を取得し、SQL 操作を基礎にマップするクエリパラメータで、集計機能、リレーショナル参加、および計算フィールドを含む。このプラットフォームには、組み込みのキャッシュレイヤーと Redis のサポートが組み込まれており、大量の負荷下でも API 応答を高速に保つことができます。大量のレコードの何千ものクエリーを行うフリートダッシュボードの重要な機能も含まれています。

WebSocketsによるリアルタイムアップデート

ライブデータ更新を必要とするアプリケーションでは、Directus は WebSocket インターフェイスを提供しています。サブスクリプションはコレクションごとに設定できます。フロントエンドのクライアントはデータ変更時に即時通知を受け取ることができます。車両の位置やステータスがダッシュボードにリアルタイムにプッシュされる必要があるフリートトラッキングシステムには、このことは有利です。

他のCMSプラットフォームと比較してDirectus

エコシステムでDirectusの場所を高く評価するために、共通の選択肢とそれを対照するのに役立ちます。

ダイレクト対. ストラップ

どちらもNode.js上に構築されたヘッドレスCMSですが、基本的違いはデータベース哲学にあります。 ストラップイはデータベース構造を所有し、マイグレーションやスキーマの定義自体を処理します。 一方、Directusは、既存のデータベースをミラーリングします。 すでに数百のテーブルを備えた複雑なフリート管理データベースを持っている場合、そのスキーマを変更することなくCMSレイヤーを追加したい場合は、Directusは明確な選択です。 ストラップイのアプローチは、あなたがCMSモデルを定義できるようにするために喜んでいるスクラッチから始まるプロジェクトに適しています。

直接対ハスラ

Hasuraは、GramQL API をデータベースに紹介し、グラフQL API を公開する GraphQL エンジンです。しかし、 Hasura は CMS ではありません。コンテンツエディタ用の専用の管理パネルが不足しています。Directus は、API とフル 管理者 インターフェイスの両方を提供し、RBAC、メディア管理、および柔軟なユーザーエクスペリエンスが完成します。日常の操作のための非デベロッパー ユーザー インターフェイスを必要とするアプリケーションでは、フリート マネージャーの更新ドライバーのような、より実用的なレコードです。

直接対WordPress(ヘッドレスCMSとして)

WordPressはREST API経由でヘッドレスに使用できますが、独自のデータスキーマと「ポスト」コンセプトに拘束されています。Directusはそのようなコンセプトを課すことなく、非コンテンツサイトにはるかに適応可能にします。プロジェクトが在庫管理、センサーデータ、または任意のカスタムエンティティティティティを管理する必要がある場合は、DirectusはWordPressの意見を述べた構造のオーバーヘッドなしでより自然なフィットを提供します。

リアルタイムでフリート管理ユースケース

「フリート・ダイレクトス・記事」は、コンテンツ管理と運用データの交差点をよくまとめています。フリートは、テレメトリー、メンテナンスログ、ドライバー文書、保険記録、ルートの割り当て、コンプライアンスレポートなどの膨大な情報を集めています。ダイレクトスは、このすべてを管理するための統一されたデータ・プラットフォームとして機能することができます。

  • [] ドライバーと車両プロファイル:[ 車両の詳細、ドライバー認証、ライセンスの有効期限、および割り当てられたユニットにDirectusを使用します。 管理者パネルは、ディスパッチャがステータスを更新し、検査写真をアップロードし、ホックを介してアラートをトリガーすることができます。
  • [インシデントレポート:]]] タイムスタンプ、GPS座標、ダメージ説明、およびサポートイメージをキャプチャできるカスタムコレクション。 API では、モバイルアプリはレポートを直接送信でき、管理者アプリはコンプライアンス役員のレビューインターフェイスとして機能します。
  • []メンテナンス・コレクションを車両にリンクしました。 ダイレクトスAPIをクエリして、サービスのために車両を識別し、自動的に責任のあるチームにリマインダーをメールする、cronジョブまたは外部トリガーを設定します。
  • [デジタル文書リポジトリ:[]]メディアマネージャーは契約、保険ポリシー、およびコンプライアンスフォームを整理します。 ダイレクトスの許可は、ドライバーが自分の文書にアクセスできるだけでなく、監査人はより広範な読み取りアクセスを持っていることを保証します。
  • []リアルタイムダッシュボードインテグレーション:[ グラフQL APIをNuxt.jsやNext.jsなどのフロントエンドライブラリと組み合わせることで、マップ、最近のアラート、および主要なパフォーマンスメトリックの車両の位置を示すリアルタイムのフリートダッシュボードを作成できます。 DirectusのWebSocketサポートは、ページをリロードせずにデータを新鮮に保ちます。

ダイレクトスは、運用データベースに直接座っているため、これらのユースケースは、データを別のCMSストアに複製または同期する必要はありません。これにより、複雑さと遅延が軽減され、時間感度の高いフリート操作に大きな利点が得られます。

開始: ダイレクトスプロジェクトの設定

直接インストールは数分で行うことができます。推奨される方法は、公式のCLIまたはDockerイメージを使用することです。プロトタイプをお探しのフリート企業にとって、DirectusとPostgreSQLコンテナを備えたDocker Composeのセットアップは最速のパスです。

  1. Docker Image:[ を実行して、最新の安定したバージョンを入手します。
  2. [ Compose File:[]] Directus と希望するデータベースのサービスの定義。ADMIN EMAIL、ADMIN PASSWORD、SECRET、およびデータベースの資格情報などの環境変数をマップします。
  3. [] スタック:[ [] を 起動します。 直接は、最初の実行時に自動的に初期化し、データベースに必要なシステムテーブルを作成します。
  4. 管理者アプリ:[]]にアクセスし、管理者資格情報でログインします。 空白のキャンバスが表示され、データの準備が整います。
  5. [既存のデータベースを接続します:[]]。既にフリートデータベースを持っている場合は、DB *環境変数を更新することで、Directusを指します。 再起動すると、管理者パネルはすべてのテーブルをコレクションとして表示します。 次に、フィールドラベル、関係、権限を設定できます。

業務に合ったダイレクトスを拡張

ダイレクトスの真の力は、その拡張性です。カスタムエクステンションは、コアをフォークすることなく、プラットフォームを特定のビジネスロジックに成形することができます。ワークフローは、多くの場合、気象API、政府車両の規制、またはVINデコーダなどの外部サービスを含む、フリート管理において重要です。

カスタムインターフェイスとディスプレイの構築

インターフェイスはフィールドが編集される方法(日付ピッカー、GPS座標のマップセレクタなど)を定義します。 フィールドが読み取り専用のビューでレンダリングされるかを制御するディスプレイです。 色のコードされたバッジを表示するカスタム「Vehicle Status」インターフェイス、または外部APIを呼び出してルートを視覚化することができます。 これらはVue.jsで構築され、拡張フォルダを介して登録されます。

Webhooks とイベントのホックを作成する

Directusは、アイテムの作成、更新、削除などのイベントでロジックをトリガーするホックシステムを提供します。例えば、新しいメンテナンスレコードが作成されると、ホックは、その車両に割り当てられたメカニックに自動的に通知を送ることができます。Webhookは、管理パネルからグローバルまたはコレクションごとに設定できます。これにより、Zapier、Slack、またはサーバーコードを記述することなくカスタムミドルウェアサービスとの統合が可能になります。

カスタム API エンドポイント

動的REST または GraphQL API が特定の必要性を覆い隠さないと、Directus サーバーにカスタムエンドポイントを追加できます。これらのエンドポイントは、データベース、認証コンテキスト、コアサービスに完全にアクセスできます。フリートアプリケーションは、日付範囲にわたって燃料消費量を集計し、複雑な SQL を結合することで、一般的な API クエリで容易に表現できないエンドポイントを実行しているエンドポイントを公開する可能性があります。拡張機能として追加することで、エンドポイントは公式 API の一部となり、認証および認証メカニズムのメリットが同じ値と同一の認証メカニズムから得られることになります。

敏感な艦隊データのためのDirectusの保証モデル

フレア管理には、機密性の高い個人データ(ドライバーライセンス、電話番号、場所)と機密ビジネス情報(契約、ルート)が含まれます。Directusの顆粒許可システムは、権限のあるユーザーが適切なデータにアクセスできるようにします。 「Driver」、「Dispatcher」、「Manager」、「Auditor」などのロールを定義し、各コレクションおよび個々のフィールドの許可を割り当てます。 許可は、フィルタ式を使用して任意のビジネスルールに基づいて行うことができます。 ドライバーは、API の要求事項を識別し、MFAが一致しているか、または、または、API のセキュリティ フィールドにマッチするかどうかを確認します。

大量のデータに対するパフォーマンス最適化

艦隊データベースに何百万ものテレメトリーレコードが含まれている場合、性能はパラマウントになります。Directusを使用すると、データベースのインデックスを直接追加できます(スキーマを所有していないため)、APIはこれらのインデックスを使用してクエリを高速化します。このプラットフォームは、レート制限、アセットのCDN、およびNode.jsサーバーの水平スケーリングもサポートします。レポート作成のために、データベース内の材料化されたビューを作成して、読み取るだけコレクションとして登録することができます。直接アクセスは、事前調整されたデータを含まないため、事前調整されたデータを高速に転送します。

指令コミュニティと生態系

拡張、テーマ、および青写真に貢献するアクティブなオープンソースコミュニティからの直接的な利点。 [ GitHub ディスカッション ボードと 直流 Discord サーバー]]は、フリーインストールのヘルプや共有の場です。 コアチームは、完全な ドキュメント を管理し、すべての拡張機能の機能をクラウドから保護します。 [FLT:] クラウド およびクラウド クラウド のバックアップから、およびクラウド クラウド リモート リモート リモート を処理します。 [FLT:] クラウド クラウド およびクラウド クラウド クラウド クラウド クラウド の拡張機能が、クラウド クラウド クラウド クラウド クラウド クラウド クラウド クラウド で、クラウド クラウド リモート リモート クラウド クラウド クラウド クラウド リモート にインストールします。

フレアデータスタックの将来予測

Directus を選択すると、重要なフリート操作を独自のエコシステムにロックしないことを意味します。 データのリサイドは、標準的な SQL データベースに存在しているため、レポート、ETL プロセスのフルパワーを保持し、メタベースやパワー BI などの BI ツールと統合します。 ダイレクトから移行することに決めた場合、データモデルとすべての完全性は、ゼロベンダーロックインで、そのまま残っています。 このデータベースファースト戦略は、車両のライフサイクル管理や車両管理のパフォーマンスを最適化するだけでなく、車両のライフサイクル管理やパフォーマンスを最適化するなどの長い期間に完全に整合します。