⬡ Lacelium
⌘K
Version 2.x ▾
Database Admin UI Studio Ready

ArgusKit Database Studio

A visual CRUD engine and schema studio that allows you to manage database tables with zero boilerplate. ArgusKit handles dynamic forms, foreign key relations, rich-text editing, and modal dialogs straight from schema metadata.

Core Architecture

ArgusKit operates on three integrated structural layers:

Layer Registry Table Responsibility
Modules & Apps m_module_type Groups related tables into distinct application domains (e.g. CRM, Inventory, Billing).
Column Metadata m_column_define Visually configures column visibility, rich-text (CKEditor), file uploads, and foreign selects.
Schema Designer arguskit_builder Visual interactive builder to design tables, indexes, and generate reversible database migrations.

Visual & JSON Column Configuration

Customize column behavior directly in the database by setting JSON metadata in m_column_define:

Enable Rich-Text Editor (CKEditor)
UPDATE m_column_define 
SET multi_column = '{"rich_text": true}' 
WHERE name = 'body_content' AND table_name = 'articles';
Hide Column from Table List View
UPDATE m_column_define 
SET multi_column = '{"hide_in_list": true}' 
WHERE name = 'internal_notes' AND table_name = 'orders';
Dynamic Dropdown Options (Choice Tables)
-- Link column to predefined enum choices in m_choice
UPDATE m_column_define 
SET choice_group_id = 'order_status_group' 
WHERE name = 'status' AND table_name = 'orders';

Maintenance JavaScript API

Invoke pre-built administrative modals programmatically from custom dashboards without writing custom forms:

// Launch "Add Record" dialog for the 'tasks' table
MaintenanceModal.add('tasks');

// Launch "Edit Record" dialog for record ID 42
MaintenanceModal.edit('tasks', 42);

// Launch read-only inspection dialog
MaintenanceModal.view('tasks', 42);

// Prompt modal confirmation dialog to delete record 42
MaintenanceModal.remove('tasks', 42);

Layout-Free Embedding (IFrames)

Embed any table or module group into third-party administration panels using layout-isolated embed routes:

<!-- Embed a single isolated table CRUD view -->
<iframe src="/maintenance/embed/users" width="100%" height="600" style="border:0;"></iframe>

<!-- Embed an entire module group -->
<iframe src="/maintenance/embed/admin_tools" width="100%" height="800" style="border:0;"></iframe>

Security & Permissions

  • Middleware Protection: By default, all /maintenance/* routes are guarded by the AdminAuthMiddleware to prevent unauthorized access in production.
  • Audit Logging: Every record mutation (create, edit, soft delete) executed through ArgusKit is automatically captured in m_audit_log with timestamps and user identifiers.
  • Safe Deletions: Tables implementing the deleted_at timestamp will use soft-deletes, allowing historical recovery from the studio UI.

Next Steps