ダイレクトスについて

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

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

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

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

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

建築ディープ・ダイブ: ダイレクトス・ワークス

フードの下、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は明確な選択です。 ストラップiのアプローチは、あなたがCMSモデルを定義できるようにするために喜んでいるスクラッチから始まるプロジェクトに適しています。

直接対ハスラ

Hasuraは、データベースを調べて、GraphQL 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. ] Stack:[ []をLaunchする。 直接は、最初の実行時に自動的に初期化し、データベースに必要なシステムテーブルを作成します。
  4. 管理者アプリ:[]]にアクセスし、管理者資格情報でログインします。 空白のキャンバスが表示され、データの準備が整います。
  5. [既存のデータベースを接続します:[]] あなたが既にフリートデータベースを持っている場合は、DB *環境変数を更新することによって、それをDirectusを指します。 再起動すると、管理者パネルはコレクションとしてすべてのあなたのテーブルが表示されます。 その後、フィールドラベル、関係、および権限を設定することができます。

ダイレクトスを拡張して、オペレーションに合った機能を実現

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

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

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

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

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

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

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

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

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

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

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

直接コミュニティと生態系

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

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

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