# dashboardbuilder/dashboardbuilder.net architecture

> Architecture diagram of the GitHub repository dashboardbuilder/dashboardbuilder.net, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-12). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/dashboardbuilder/dashboardbuilder.net
- Repository: https://github.com/dashboardbuilder/dashboardbuilder.net

## Overview

Dashboard Builder is a PHP dashboard designer and analytics product, with a separate AI-assisted generator for uploaded data. The principal workflow is to connect a data source, configure charts and layout, then render or export a dashboard for integration into a PHP application. The README documents the broad product capabilities; excerpts show the AI upload-to-analysis calls and the web entry point loading its view. Many other modules were only listed, so their internal wiring is not inferred.

Main entry points: [`ai-dashboard-generator-tool/AutoDashboardEngine.php`](https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/ai-dashboard-generator-tool/AutoDashboardEngine.php) (AI analysis), [`index.php`](https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/index.php) (Web entry), [`ai-dashboard-generator-tool/import_process.php`](https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/ai-dashboard-generator-tool/import_process.php) (AI upload), [`lib/gen_code.php`](https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/lib/gen_code.php) (Code generation)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_design["Dashboard Design"]
  node_entry["Web entry<br/>[index.php]"]
  node_designer["Dashboard editor"]
  node_editor_api["Editor API<br/>[api_editor.php]"]
  node_layout["Layout editor<br/>[layout.php]"]
  node_theme["Theme editor<br/>[theme.php]"]
end

subgraph group_data["Data and Rendering"]
  node_datasource_api["Datasource API<br/>[api_datasource.php]"]
  node_query_builder["Query builder<br/>[qbuilder.php]"]
  node_database_access["Database access<br/>[qb_conn.php]"]
  node_source_reader["File reader<br/>[source_reader.php]"]
  node_dashboard_api["Dashboard API<br/>[api.php]"]
  node_render["Dashboard rendering<br/>[render_layout.php]"]
  node_view["Dashboard view<br/>[view.php]"]
end

subgraph group_ai["AI Generation"]
  node_ai_upload["AI upload<br/>[import_process.php]"]
  node_chat_upload["Chat upload<br/>[chat_process.php]"]
  node_ai_engine["AI analysis"]
  node_prompt_suggestions["Prompt suggestions"]
end

subgraph group_integrate["Integration"]
  node_save["Dashboard save<br/>[save_dashboard.php]"]
  node_codegen["Code generation<br/>[gen_code.php]"]
  node_wordpress["WordPress export<br/>[gen_wp.php]"]
  node_laravel["Laravel export<br/>[gen_laravel.php]"]
  node_joomla["Joomla export<br/>[gen_joomla.php]"]
end

node_user(("Dashboard user"))
node_php_app["PHP application"]

node_user -->|"opens"| node_entry
node_entry -->|"loads"| node_view
node_user -->|"designs dashboards"| node_designer
node_user -->|"connects data"| node_datasource_api
node_user -->|"arranges charts"| node_layout
node_user -->|"styles charts"| node_theme
node_user -->|"uploads data"| node_ai_upload
node_ai_upload -->|"processes file"| node_ai_engine
node_chat_upload -->|"processes file"| node_ai_engine
node_prompt_suggestions -.->|"references"| node_ai_engine
node_user -->|"saves dashboard"| node_save
node_user -->|"generates code"| node_codegen
node_codegen -->|"integrates with"| node_php_app
node_user -->|"exports to"| node_wordpress
node_user -->|"exports to"| node_laravel
node_user -->|"exports to"| node_joomla

click node_entry "https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/index.php"
click node_designer "https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/lib/index_ai_dashboard.php"
click node_editor_api "https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/lib/api_editor.php"
click node_layout "https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/ai-dashboard-generator-tool/layout.php"
click node_theme "https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/ai-dashboard-generator-tool/theme.php"
click node_datasource_api "https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/lib/api_datasource.php"
click node_query_builder "https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/lib/qbuilder.php"
click node_database_access "https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/lib/qb_conn.php"
click node_source_reader "https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/lib/source_reader.php"
click node_dashboard_api "https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/lib/api.php"
click node_render "https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/lib/render_layout.php"
click node_view "https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/lib/view.php"
click node_ai_upload "https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/ai-dashboard-generator-tool/import_process.php"
click node_chat_upload "https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/ai-dashboard-generator-tool/chat_process.php"
click node_ai_engine "https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/ai-dashboard-generator-tool/AutoDashboardEngine.php"
click node_prompt_suggestions "https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/ai-dashboard-generator-tool/suggest_prompts.php"
click node_save "https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/lib/save_dashboard.php"
click node_codegen "https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/lib/gen_code.php"
click node_wordpress "https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/lib/gen_wp.php"
click node_laravel "https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/lib/gen_laravel.php"
click node_joomla "https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/lib/gen_joomla.php"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_entry,node_designer,node_editor_api,node_layout,node_theme,node_user toneBlue
class node_datasource_api,node_query_builder,node_database_access,node_source_reader,node_dashboard_api,node_render,node_view toneAmber
class node_ai_upload,node_chat_upload,node_ai_engine,node_prompt_suggestions toneMint
class node_save,node_codegen,node_wordpress,node_laravel,node_joomla toneRose
class node_php_app toneIndigo
```

## Components

### Dashboard Design

- [Web entry](https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/index.php): `index.php`
- [Dashboard editor](https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/lib/index_ai_dashboard.php): `lib/index_ai_dashboard.php`
- [Editor API](https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/lib/api_editor.php): `lib/api_editor.php`
- [Layout editor](https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/ai-dashboard-generator-tool/layout.php): `ai-dashboard-generator-tool/layout.php`
- [Theme editor](https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/ai-dashboard-generator-tool/theme.php): `ai-dashboard-generator-tool/theme.php`

### Data and Rendering

- [Datasource API](https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/lib/api_datasource.php): `lib/api_datasource.php`
- [Query builder](https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/lib/qbuilder.php): `lib/qbuilder.php`
- [Database access](https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/lib/qb_conn.php): `lib/qb_conn.php`
- [File reader](https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/lib/source_reader.php): `lib/source_reader.php`
- [Dashboard API](https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/lib/api.php): `lib/api.php`
- [Dashboard rendering](https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/lib/render_layout.php): `lib/render_layout.php`
- [Dashboard view](https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/lib/view.php): `lib/view.php`

### AI Generation

- [AI upload](https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/ai-dashboard-generator-tool/import_process.php): `ai-dashboard-generator-tool/import_process.php`
- [Chat upload](https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/ai-dashboard-generator-tool/chat_process.php): `ai-dashboard-generator-tool/chat_process.php`
- [AI analysis](https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/ai-dashboard-generator-tool/AutoDashboardEngine.php): `ai-dashboard-generator-tool/AutoDashboardEngine.php`
- [Prompt suggestions](https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/ai-dashboard-generator-tool/suggest_prompts.php): `ai-dashboard-generator-tool/suggest_prompts.php`

### Integration

- [Dashboard save](https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/lib/save_dashboard.php): `lib/save_dashboard.php`
- [Code generation](https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/lib/gen_code.php): `lib/gen_code.php`
- [WordPress export](https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/lib/gen_wp.php): `lib/gen_wp.php`
- [Laravel export](https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/lib/gen_laravel.php): `lib/gen_laravel.php`
- [Joomla export](https://github.com/dashboardbuilder/dashboardbuilder.net/blob/master/lib/gen_joomla.php): `lib/gen_joomla.php`

### Other components

- **Dashboard user**
- **PHP application**

## Connections

- Dashboard user → Web entry: opens
- Web entry → Dashboard view: loads (evidence: `index.php`)
- Dashboard user → Dashboard editor: designs dashboards
- Dashboard user → Datasource API: connects data
- Dashboard user → Layout editor: arranges charts
- Dashboard user → Theme editor: styles charts
- Dashboard user → AI upload: uploads data (evidence: `ai-dashboard-generator-tool/import_process.php`)
- AI upload → AI analysis: processes file (evidence: `ai-dashboard-generator-tool/import_process.php`)
- Chat upload → AI analysis: processes file (evidence: `ai-dashboard-generator-tool/chat_process.php`)
- Prompt suggestions → AI analysis: references (evidence: `ai-dashboard-generator-tool/suggest_prompts.php`)
- Dashboard user → Dashboard save: saves dashboard
- Dashboard user → Code generation: generates code
- Code generation → PHP application: integrates with
- Dashboard user → WordPress export: exports to
- Dashboard user → Laravel export: exports to
- Dashboard user → Joomla export: exports to
