Skip to content

About

Database browser for the AntelopeJS DMS back office: browse rows, read the schema diagram and run AQL queries.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

129 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

DMS DATABASE CONSOLE: part of AntelopeJS DMS, the open-source back office. A glowing button reads Star AntelopeJS DMS.

@antelopejs/dms-database

npm License Discord Documentation Star AntelopeJS DMS

See your schemas, browse and fix rows, and run queries, from the dashboard your team already uses.

Try it in the live demo · Documentation · All modules

The Database diagram in the dark theme: the helio_deals, helio_customers and helio_team tables of the Helio schema, with their columns and the customer and owner relations between them.

What it does

  • Checks the connection and its latency, with one card per registered schema and the largest tables.
  • Lists every table the loaded modules register, with its columns, indexes, relations and a sample row.
  • Draws the tables and relations of a schema, with a layout and notes shared by the whole team.
  • Browses and fixes rows in any instance: edits are staged, reviewed, saved, and can be undone for ten seconds.
  • Runs AQL queries with completion and history, and a dry run before any query that writes.

A saved row shows in place; the page is read again when a save may move rows (a sorted or filtered field, or a search).

The pages and the module's API answer to the platform owner only.

Install

Run the AntelopeJS CLI from the root of a project that already loads @antelopejs/dms:

ajs project modules add @antelopejs/dms-database

Quick start

The module works without configuration. To show the database name on the Overview and label your schemas, add a config block:

// antelope.config.ts
"dms-database": {
  source: { type: "package", package: "@antelopejs/dms-database", version: ">=0.2.0 <1.0.0" },
  config: {
    driverLabel: "MongoDB 8.0",
    schemaLabels: {
      "app-*": { label: "Application", color: "info" },
    },
  },
},

Restart the backend, then the frontend, sign in as the platform owner and open Modules → Database (/modules/database/overview).

Compatibility

Package Supported Tested with
@antelopejs/interface-api >=0.3.0 <1.0.0 0.3.0
@antelopejs/interface-api-util >=0.3.0 <1.0.0 0.3.0
@antelopejs/interface-core >=0.4.0 <1.0.0 0.4.0
@antelopejs/interface-database >=0.3.1 <1.0.0 0.3.1
@antelopejs/interface-database-decorators >=0.2.1 <1.0.0 0.2.1
@antelopejs/interface-dms >=0.12.0 <1.0.0 0.12.0
@antelopejs/interface-dms-automation >=0.6.1 <1.0.0 0.6.1

The module also needs a DMS backend in a release that implements the @antelopejs/interface-dms range above, and the @antelopejs/dms-frontend renderer in the range its frontend module declares in engines["@antelopejs/dms-frontend"] of frontend-vue/package.json; the ajs dms CLI refuses to build it with a renderer outside that range, and an @antelopejs/interface-database implementation, such as @antelopejs/mongodb.

Documentation

The canonical guide lives in docs/, including the supported extension boundary. There is no separate DMS Database interface package. The package also ships the dms-database Claude Code skill in skills/, declared under antelopeJs.skills.

Contributing

Read CONTRIBUTING.md before opening a pull request. The playground registers a demo schema and a shop schema with eu and us instances, seeded on first start. It runs on MongoDB by default; set PLAYGROUND_DATABASE=postgres to run it on PostgreSQL through @antelopejs/postgres, with POSTGRES_URL naming the database (default postgres://postgres@localhost:5432/playground_dms_database, which must exist).

One root install includes the backend and shipped Vue module, retaining their separate lockfiles. The playground remains independent: run pnpm --dir playground install --ignore-workspace --frozen-lockfile before starting it. Use the root scripts below rather than recursive scripts: frontend build and typecheck need the playground or a generated Inertia workspace, and root lint already checks the Vue module.

pnpm install
pnpm dev            # playground backend
pnpm frontend:dev   # dashboard, in a second terminal
pnpm lint
pnpm typecheck
pnpm test
Repository notes
  • The module registers its Vue 3 frontend through frontend-vue/dms.frontend.ts, under the DmsDatabase component prefix: app/components/DataBrowser.vue is the DmsDatabaseDataBrowser the backend page names. The pages are declared in src/pages, as DMS blocks plus the module's own components. Everything under frontend-vue/app/build is private to the layer and imported by path.
  • Run pnpm test:layer for the frontend tests and pnpm test:frontend to build and typecheck a generated Inertia app. Set DMS_FRONTEND_WORKSPACE to a generated Inertia workspace before running pnpm --dir frontend-vue typecheck.
  • DMS_SOURCE=/absolute/path/to/dms pnpm test tests against a local DMS runtime with disposable MongoDB and filesystem storage. Only the test harness loads that runtime; the types come from @antelopejs/interface-dms.
  • docs/design/redesign-v2-grill.md records the decisions behind the v2 redesign.

Part of AntelopeJS DMS

This module installs into AntelopeJS DMS, the open-source back office. Every module adds its pages to the same dashboard, behind the same sign-in and roles.

Module What it adds
dms-builder Edit pages, tables and data sources by clicking, as TypeScript that compiles
dms-ai An assistant chat in the dashboard, on your own Claude Code or Codex
dms-database Schemas, relation diagrams, a data browser and a query console
dms-api API health, request logs, per-route statistics and a request tester
dms-automation Node-graph automations on schedules, webhooks and DMS events, with a trace for every run
dms-mailing E-mail templates in a block editor, versions, a send log and delivery metrics
dms-lang Translation coverage, a translation matrix and a translation queue
dms-media A media library with folders, per-folder permissions, image sizes and light editing
dms-saas Self-service sign-up, plans that gate features, and Stripe billing
dms-marketing Traffic, conversion funnels with A/B splits and click heatmaps, without cookies
dms-frontend The ajs dms CLI, the Vue renderer and the SDK every frontend module builds on

License

Apache-2.0

About

Database browser for the AntelopeJS DMS back office: browse rows, read the schema diagram and run AQL queries.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages