* add basic util function for later use * sketch up useRelationMultiple implementation * update relation util and start reworking relational interfaces * support filter in m2o * start working on useRelationMultiple * continue working on relational foundation * finish basic use-relation-multiple composable * get o2m pretty close to being finished * finish up list-o2m * replace old interfaces * copy existing interface * rewrite vue file * highlight deleted items * use Search instead of Get * support selection on m2m * finish up m2m * replace old files * update files interface * fix permission checks * fix styling * add sketches to explain relations * rewrite m2a interface * add usage hint to use-relation-multiple * update file interface to use new composable * update file-image interface * fix image not being shown * revert names * fix selection of existing items * fix loading selected items * in between commit * update translations interface * try using composable recursive * try linear approach on value modeling * finish rewriting list-o2m-tree-view interface * revert api changes * fix sorting for list-o2m-tree-view * fix selected items in created array * Add direct download option to files interface * Fix linter warnings * Weird that it's being difficult, but ok * Cast existingItemCount to number at all times * fix page gets set below 1 * align pagination to the right * highlight deselecting row * show min 1 skeleton loader * only filter selected when item exists * fix working on new items * Fix linter warning * fix deselecting selected items * show different icon depending if icon is local * add changes from #12611 * Add _some vs _none support to o2m * finish filtering out selected items * Use get instead of search request * fix save and stay Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com> * fix adding items to m2o * Fix linter warning * Handle no-type better * Clean up axios usage Co-authored-by: rijkvanzanten <rijkvanzanten@me.com> Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
🐰 Introduction
Directus is a real-time API and App dashboard for managing SQL database content.
- Free & open-source. No artificial limitations, vendor lock-in, or hidden paywalls.
- REST & GraphQL API. Instantly layers a blazingly fast Node.js API on top of any SQL database.
- Manage pure SQL. Works with new or existing SQL databases, no migration required.
- Choose your database. Supports PostgreSQL, MySQL, SQLite, OracleDB, CockroachDB, MariaDB, and MS-SQL.
- On-Prem or Cloud. Run locally, install on-premises, or use our self-service Cloud service (free tier available).
- Completely extensible. Built to white-label, it is easy to customize our modular platform.
- A modern dashboard. Our no-code Vue.js app is safe and intuitive for non-technical users, no training required.
🚀 Directus Cloud
Directus Cloud allows you to create free Community Cloud projects in 90 seconds.
- Free Community Cloud tier available (no credit card required)
- No product limitations or service usage quotas (unlimited users, API requests, etc)
- A modern self-service dashboard to create and monitor all your projects in one place
- End-to-end solution: Directus, database, serverless auto-scaling, storage, and a global CDN
- Hourly usage-based pricing for our Standard Cloud allows you to pay-as-you-go
- Select your desired region and provision a new project in ~90 seconds
⚙️ Installation
Create a new Directus project by running the following npm command:
npm init directus-project my-project
Or, using yarn:
yarn create directus-project my-project
Simply follow the setup prompts and the CLI will create your new project directory (eg: my-project), configuration
file, and initial database. To get the most out of Directus, and to ensure you have the latest security patches, it is
important to keep your projects up-to-date.
📌 Requirements
Directus only requires Node.js and supports most operating systems and SQL database vendors.
- Node.js 12.20+
- npm 6.x+
Supported Databases
- PostgreSQL 10+
- MySQL 5.7.8+ / 8+ (with mysql_native_password)
- MariaDB 10.2.7+
- SQLite 3+
- CockroachDB 21.1.13+[1]
- MS SQL 13+[1]
- OracleDB 19+[1]
[1] Older versions may work, but aren't officially tested/supported.
Supported OS
- Ubuntu 18.04
- CentOS / RHEL 8
- macOS Catalina or newer
- Windows 10/11
- Docker (DockerHub + Dockerfile)
Other operating systems may also work, but are not officially supported.
🤔 Community Help
The Directus Documentation is a great place to start, or explore these other channels:
- Discord (Live Discussions)
- GitHub Issues (Report Bugs)
- GitHub Discussions (Questions, Feature Requests)
- Twitter (Latest News)
- YouTube (Video Tutorials)
❤️ Contributing & Sponsoring
Please read our Contributing Guide before submitting Pull Requests.
All security vulnerabilities should be reported in accordance with our Security Policy.
Directus is a premium open-source (GPLv3) project, made possible with support from our passionate core team, talented contributors, and amazing GitHub Sponsors. Thank you all!
© 2004-2022, Monospace Inc
