Skip to content

jamtastic/directus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

56 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Note: This is not the greatest Open Data Platform in the world, no. This is just a tribute. Looking for the official Directus project instead? Check it out here.



Directus Logo



ISC License Β  Project Status

A collection of Directus plugins and tools maintained by the Jamtastic!Β  team
Help us expand the Directus ecosystem by contributing to this collection of unofficial, professional grade extensions.


Divider

🐰   Directus?

Directus is an open-source data management system. To quote the source:

Directus is an Open Data Platform built to democratize the database.

This platform provides everyone on your team, regardless of technical skill, equal access to data and digital file asset management, for any data model or project. First, link Directus to your desired SQL database and file storage adapter. After that, Directus enables you to perform CRUD operations, create users, assign roles with fully configurable permissions, build complex and granular queries, configure event-driven webhooks and task automation... the list goes on!

Divider

🧩   Extensions

Extensions maintained by Jamtastic! are categorised into two main categories: integration and standalone extensions.

Integration bundles

Integrations use the bundle extension type and package a number of standalone extensions that work together to either add new experiences, or to integrate other tools into the Directus installation.

  • Access - advanced role based permissions with support for groups and resource owner based permissions
  • Diagrams - based on Diagrams.net
  • Editor - advanced editorial workflow for prose based on EditorJS
  • Mailer - Send and trigger emails using the internal mailer and manage templates using an MJML editor
  • Notifier - Integrations with communication platforms (e.g. Slack) to receive system notifications and to trigger events remotely

Standalone extensions

These extensions are either app extensions or API extensions that work by themselves. Some may have recommended counterparts - for example, an interface might work well with another display extension.

App

  • Modules
    • None planned yet 😒
  • Layouts
    • Nested Β 
  • Interfaces
    • Embedded Β 
    • Header Β 
    • Monaco Β 
    • Permalink Β 
    • Sentiment Β 
  • Display
    • Icon
  • Panels
    • None planned yet 😒

API

  • Endpoints
  • Hooks
  • Models (migrations)

Divider

πŸ›  Β  Tools

This project includes some tools and utilities to help maintain Directus extensions.

Bunny CLI

To develop Directus extensions with bunny:

$ npm install -g @jamtastic/bunny
$ bunny start

To develop bunny:

$ git clone https://github.com/jamtastic/directus
$ cd directus
$ npm i && npm link
$ bunny help

Helpers

Install the helpers into your Directus project:

$ npm i @jamtastic/directus

Inside of a migration file in the project:

import { knex } from "knex";
import Directus from "@jamtastic/directus";

export const up = async (knex: Knex) => {
  const directus = new Directus.SchemaBuilder(knex);
  directus.createCollection({
    // ...
  });
};

Divider

πŸ” Β  Resources

References

Third-party extensions

The Directus ecosystem is supported by a growing list of fantastic contributors. For an up to date list of contributions, check out the official Awesome Directus List.

Some of the extensions we either use or have been inspired by are listed below.

Footnotes

  1. This is the documentation for internal app components which are reused in our own extensions as well. However, according to the team: [they] do not consider internal-API changes in the components as a breaking change of Directus. ↩

About

🐰 βž• 🧩 βž• πŸ›  🟰 😍

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published