Directus Project Structure

The world's first open data platform. Directus provides an instant REST and GraphQL API on top of any SQL database, with a beautiful admin dashboard built with Vue.js. Its architecture is designed for performance and ease of extension.

Updated 2025-12-30

#directus #cms #vuejs #nodejs #monorepo #postgresql #open-source
PNGPDF

Project Directory

directus/
api/
Backend server (Node.js)
src/
Server source code
package.json
app/
Admin dashboard (Vue.js)
src/
Frontend source code
package.json
sdk/
Official JavaScript SDK
packages/
Shared internal packages
types/
Shared TypeScript types
utils/
Shared helper functions
extensions-sdk/
Tools for extension development
package.json
Root workspace file
pnpm-workspace.yaml

Repository Info

Tech Stack

  • Backend-Node.js (Fastify-based)
  • Frontend-Vue.js 3
  • Language-TypeScript
  • Database-PostgreSQL, MySQL, SQLite, Oracle, MS-SQL
  • ORM-Knex.js (Query Builder)

Architecture Notes

Directus is unique because it is 'database-first' rather than 'application-first'. It doesn't have its own proprietary data model; instead, it reflects your existing database schema in real-time. The api/ directory houses a powerful Node.js engine that dynamicallly generates endpoints based on your tables, while the app/ directory contains a modular Vue.js interface that adapts to your data structure. This 'mirroring' architecture ensures zero vendor lock-in.

Key Directories

  • api/src/-The core engine that translates database schemas into REST and GraphQL APIs
  • app/src/-A sophisticated Vue 3 application for data management and platform administration
  • sdk/-A lightweight, type-safe client library for interacting with Directus from any JS environment
  • packages/extensions-sdk/-The foundation that allows developers to build custom modules, panels, and endpoints

Why This Structure?

Directus is a fantastic reference for building highly dynamic, data-driven applications. Its ability to introspect databases and provide a standardized API layer is a masterclass in software abstraction and metaprogramming. It's a top choice for developers who want to keep full control over their database.

Share this template

Related Templates

© 2025 FolderStructure.dev