##Directus is a free and open-source headless CMS for intuitively managing custom-schema database content.
As a developer, you're probably already managing database content directly through Sequel-Pro, phpMyAdmin, or the command line. These are excellent tools because you get complete control with little setup beyond entering the database credentials. But you would never give that access to clients, designers, or even inexperienced engineers – relationships, validation, media, and security can easily get unwieldy. Not to mention you'll either have to build within one of those all-encompassing proprietary CMS designed for blogs, or build a custom CMS from the ground-up.
Directus allows developers to build projects with custom, scalable, and decoupled databases. No more proprietary templating systems and plugin piecemealing. Build with whichever technologies are most appropriate and then either connect directly to the database, via the Directus API, or use one of our SDKs. This makes it perfect for native-apps, web-apps, physical installations, and even projects that span multiple platforms.
Once you have a basic database you'll likely want to start creating, editing, and managing its content. Directus gives even the most novice users the ability to safely and intuitively manage database content directly. Since it pulls all of its architecture and configuration directly from the schema, there's no need for time-consuming setup.
Feature | Directus | DB Client | Typical CMS |
---|---|---|---|
Manages existing (custom-schema) databases | ✓ | ✓ | No |
Works for non-website projects | ✓ | ✓ | No |
Allows custom SQL queries | ✓ | ✓ | No |
Granular table/field user permissions | ✓ | No | No✝ |
Intuitive for non-developers | ✓ | No | Some✝✝ |
Interface for relational data | ✓ | No | ✓ |
Interface for files/media | ✓ | No | ✓ |
Data API | ✓ | No | ✓ |
Free and open-source | ✓ | ✓ | Some |
✝✝Often requires significant explanation or training
Directus only manages the content in your database, beyond that you can use whatever technologies best fit your project. Not accustomed to so much freedom? Here are three easy ways to connect/access your data:
- API: Use the Directus API to add/update/delete records or fetch JSON data
- Directus Library: Use the directus library of functions to interact with the database
- SQL Queries: Ignore Directus altogether, connect directly to the database, and use custom SQL queries
With the ability to create and manage any database schema you can dream up, maybe Directus is the project. Instead of paying $20/month for a rigid Project Management service, just throw together a quick schema with fields customized to your needs. Now you have a free solution that can easily be extended to accommodate any new info you want to track.
database
├── projects
│ ├── id
│ ├── active
│ ├── title
│ ├── description
│ ├── url
│ ├── client
│ ├── date_started
│ ├── project_manager
│ └── sow_pdf
├── clients
│ ├── id
│ ├── logo_image
│ ├── name
│ ├── hourly_rate
│ ├── point_of_contact_email
│ ├── point_of_contact_name
│ └── point_of_contact_phone
├── tasks
│ ├── id
│ ├── active
│ ├── sort
│ ├── title
│ ├── category
│ ├── assigned_user
│ ├── created_by
│ ├── date_created
│ └── description
├── task_categories
│ ├── id
│ └── title
└── project_tasks (junction table)
├── id
├── project_id
└── task_id