Files
directus/docs/getting-started/introduction.md
Ben Haynes 1b87e4555f Docs structure (#9071)
* WIP

* updates

* docs updates

* structure

* big structure update

* docs module icon change

* in-app docs nav

* more content and structure changes

* Remove redundant

* Fix docs build in app

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-10-25 21:19:23 -04:00

8.0 KiB
Raw Blame History

Getting Started

These Docs will help you get up-and-running quickly, guide you through advanced features, and explain the core concepts that make Directus so unique.

What is Directus?

Directus is an Open Data Platform built to democratize the database. Its no-code app is safe and intuitive enough to make data accessible to everyone, while still providing the granular configuration and technical tools required by power-users and data scientists. For developers, a data connection toolkit provides a dynamic REST+GraphQL API, JavaScript SDK, and options for authorization, caching, and more.

Written entirely in JavaScript (primarily Node.js and Vue.js), Directus is completely open-source, modular, and extensible, allowing it to be fully tailored to the requirements of any project. Below are the key features of the platform:

  • No-Code App for anyone to manage data
  • Data Connection Toolkit with REST & GraphQL
  • Supports Any SQL Database
  • Authorization & Caching
  • Completely Free & Open Source

::: tip What's in a name?

"Directus" (duh REKT iss) is Latin for: laid straight, arranged in lines. The broadest goal of our platform is to present data in a simple, orderly, and intuitive way.

:::

Use Cases

As flexible as the database itself, Directus can power any data-driven project. Below are some examples of common ways the platform is used:

  • Headless CMS — Whether youre building on JAMstack, server-side (SSR), static websites (SSG), etc — Open Data Platforms offer a modern and flexible way to manage every omnichannel digital experience.
  • Apps, Games & IoT — A powerful data backbone for any software or smart device, including: native or hybrid apps, VR/AR, customer kiosks, installations, microcontrollers, digital signage, and even smart appliances.
  • No-Code App Builder — Ditch the spreadsheet. Now anyone can create beautiful custom apps for managing customers, projects, inventory, knowledgebases, task lists, marketing, or anything else... all with zero code.
  • Back-Office & BI Tools — Gain insights into company KPIs and enable no-code exploration of business data. Coalesce previously siloed department data to give your team meaningful and actionable analytics.
  • Digital Asset Management — Aggregate all of your digital files in one place for improved organization, searchability, delivery, and integration with other datasets, all while enabling on-the-fly file transformations.
  • Raw Data Visualization — Establish a “single source of truth” for all of your disparate data while enabling non-technical users to build custom dashboards that generate meaningful insights from complex datasets.

Core Principles

Directus is a simple solution for complex problems, with a data-first approach guided by the following core principles:

  • Pure — There is no predefined model or proprietary rules for your schema, and all system settings are stored separately.
  • Open — Our entire codebase is public and transparent, allowing for end-to-end audits. Nothing is obfuscated or black-boxed.
  • Portable — Data is stored in your bespoke database and can be migrated/exported/backed-up at any time. Absolutely no vendor lock-in.
  • Limitless — Create unlimited users, roles, languages, collections, and items. No arbitrary restrictions or paywall limitations.
  • Extensible — Every aspect of the platform is modular, allowing you to adapt, customize, and infinitely extend the Core engine.
  • Unopinionated — Choose your database (all SQL vendors), API (REST or GraphQL), and infra (self-hosted or Cloud).

Database Mirroring

What makes Directus so unique is that it dynamically generates custom API endpoints based on your SQL database's schema in real-time — something we call "Database Mirroring". Whether you install fresh or on top of an existing database, you always maintain end-to-end control over your actual database, including: tables, columns, datatypes, default values, indexes, relationships, etc.

Below is an overview to how Directus mirrors the database, and our non-technical naming convention.

  • Project — A Database, asset storage, and config file
  • Collection — A Database Table
  • Fields — A Database Column
  • Item — A Database Record/Row
  • Relationships — A Database Relationship, including additional non-standard types
  • Type — A Database Data Type, including additional non-standard types
  • Users — A Directus User (App or API), not to be confused with a Database User

Perhaps one of the biggest advantages of Database Mirroring is that you have direct access to your pure and unaltered data. That means you have the option to bypass the Directus middleware (API, SDK, App) and connect to your data with proper SQL queries. This effectively removes all bottlenecks, latency overhead, and proprietary access limitations.

Modular & Extensible

What makes Directus so flexible is that it has been designed from the ground up with complete extensibility, helping avoid a feature ceiling. In addition to offering our software's codebase as open-source, we've included the following extension types in the platform's App and API.

  • Modules — (App) The highest and broadest level of organization within the App
  • Layouts — (App) How you browse, view or interact with a set of Items in a Collection
  • Interfaces — (App) How you view or interact with a field and its value
  • Displays — (App) A small inline preview of a field's value
  • Panes — (App) A way to view dashboard data within the Insights Module
  • Styles — (App) Whitelabeling through App Themes and CSS Overrides
  • Endpoints — (API) Custom registered API endpoints
  • Hooks — (API) Event and interval hooks for triggering custom logic
  • Email Templates — (API) Custom structure and formatting for emails

The Directus Ecosystem

  • GitHub — The open-source repository and version control
  • NPM Package — The official Directus node package
  • Docker Image — The official Directus docker image
  • Documentation — Docs for the most recent version of our platform
  • On-Demand Cloud — Our self-service managed solution (multitenant)
  • Enterprise Cloud — Our tailored managed solution (single tenant)
  • Cloud Documentation — Docs for the managed cloud dashboard
  • Private Demos — Instructions on creating a free cloud demo
  • System Status — Up-to-date information on our various cloud systems
  • Website — General information, resources, and team info
  • Twitter — The latest product info and sneak-peeks
  • Videos — Our YouTube channel with video tutorials and feature overviews
  • Discord — A growing community of 4K+ developers
  • Crowdin — Service for managing the App's many language translations
  • Marketplace — Coming in 2021, will offer a unified portal for platform extensions
  • Awesome List — A list of awesome things related to Directus