# shashtttt/ai-data-visualizer architecture

> Architecture diagram of the GitHub repository shashtttt/ai-data-visualizer, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/shashtttt/ai-data-visualizer
- Repository: https://github.com/shashtttt/ai-data-visualizer

## Overview

AetherBI is a browser-based data analysis, dashboarding, and AutoML platform. Users upload datasets, profile and clean them, explore analytics through charts and reports, and optionally train predictive models and publish shareable dashboards. The Flask application is the backend orchestration layer for these workflows. Edges reflect README statements and visible imports or calls in the supplied excerpts; unsampled route details are not inferred.

Main entry points: [`backend/app.py`](https://github.com/shashtttt/ai-data-visualizer/blob/main/backend/app.py) (Flask API), [`backend/firebase_config.py`](https://github.com/shashtttt/ai-data-visualizer/blob/main/backend/firebase_config.py) (Firebase configuration), [`backend/firebase_storage_helper.py`](https://github.com/shashtttt/ai-data-visualizer/blob/main/backend/firebase_storage_helper.py) (Firebase operations), [`static/js/app.js`](https://github.com/shashtttt/ai-data-visualizer/blob/main/static/js/app.js) (BI workspace)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_experience["Browser experience"]
  node_main_ui["BI workspace<br/>[app.js]"]
  node_main_template["SPA template<br/>[index.html]"]
  node_chart_ui["Chart renderer<br/>[charts.js]"]
  node_predict_ui["AutoML wizard<br/>[predict.js]"]
end

subgraph group_data["Data analysis"]
  node_flask_api["Flask API<br/>[app.py]"]
  node_cleaner["Dataset profiling and cleaning<br/>[cleaner.py]"]
  node_advisor["Dataset advisor<br/>[agent_advisor.py]"]
end

subgraph group_intelligence["Predictive intelligence"]
  node_predictor["AutoML engine<br/>[predictor.py]"]
  node_reporter["Report generation"]
end

subgraph group_services["Identity and sharing"]
  node_auth_db[("Authentication and SQLite<br/>[db.py]")]
  node_firebase_helper["Firebase operations"]
  node_firebase_config["Firebase configuration<br/>[firebase_config.py]"]
  node_share_manager["Share links<br/>[share_manager.py]"]
end

node_user(("Analyst"))
node_firebase_auth["Firebase Auth"]
node_firebase_storage["Firebase Storage"]
node_firestore[("Firestore")]

node_user -->|"uses"| node_main_ui
node_main_template -->|"hosts"| node_main_ui
node_main_ui -->|"calls API"| node_flask_api
node_main_ui -->|"renders charts"| node_chart_ui
node_predict_ui -.->|"uses API"| node_flask_api
node_flask_api -->|"calls"| node_cleaner
node_flask_api -->|"uses"| node_advisor
node_flask_api -->|"calls"| node_predictor
node_flask_api -->|"calls"| node_reporter
node_flask_api -->|"uses"| node_auth_db
node_flask_api -->|"downloads datasets"| node_firebase_helper
node_flask_api -->|"manages shares"| node_share_manager
node_predictor -->|"uses"| node_advisor
node_auth_db -->|"delegates auth"| node_firebase_helper
node_auth_db -->|"initializes"| node_firebase_config
node_firebase_helper -->|"gets clients"| node_firebase_config
node_share_manager -->|"gets client"| node_firebase_config
node_firebase_config -->|"configures"| node_firebase_auth
node_firebase_config -->|"configures"| node_firebase_storage
node_firebase_config -->|"provides client"| node_firestore
node_firebase_helper -->|"stores datasets"| node_firebase_storage
node_firebase_helper -->|"stores metadata"| node_firestore

click node_main_ui "https://github.com/shashtttt/ai-data-visualizer/blob/main/static/js/app.js"
click node_main_template "https://github.com/shashtttt/ai-data-visualizer/blob/main/templates/index.html"
click node_chart_ui "https://github.com/shashtttt/ai-data-visualizer/blob/main/static/js/charts.js"
click node_predict_ui "https://github.com/shashtttt/ai-data-visualizer/blob/main/static/js/predict.js"
click node_flask_api "https://github.com/shashtttt/ai-data-visualizer/blob/main/backend/app.py"
click node_cleaner "https://github.com/shashtttt/ai-data-visualizer/blob/main/backend/cleaner.py"
click node_advisor "https://github.com/shashtttt/ai-data-visualizer/blob/main/backend/agent_advisor.py"
click node_predictor "https://github.com/shashtttt/ai-data-visualizer/blob/main/backend/predictor.py"
click node_reporter "https://github.com/shashtttt/ai-data-visualizer/blob/main/backend/report_generator.py"
click node_auth_db "https://github.com/shashtttt/ai-data-visualizer/blob/main/backend/db.py"
click node_firebase_helper "https://github.com/shashtttt/ai-data-visualizer/blob/main/backend/firebase_storage_helper.py"
click node_firebase_config "https://github.com/shashtttt/ai-data-visualizer/blob/main/backend/firebase_config.py"
click node_share_manager "https://github.com/shashtttt/ai-data-visualizer/blob/main/backend/share_manager.py"

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_main_ui,node_main_template,node_chart_ui,node_predict_ui toneBlue
class node_flask_api,node_cleaner,node_advisor,node_firebase_storage,node_firestore toneAmber
class node_predictor,node_reporter toneMint
class node_auth_db,node_firebase_helper,node_firebase_config,node_share_manager toneRose
class node_user,node_firebase_auth toneIndigo
```

## Components

### Browser experience

- [BI workspace](https://github.com/shashtttt/ai-data-visualizer/blob/main/static/js/app.js): `static/js/app.js`
- [SPA template](https://github.com/shashtttt/ai-data-visualizer/blob/main/templates/index.html): `templates/index.html`
- [Chart renderer](https://github.com/shashtttt/ai-data-visualizer/blob/main/static/js/charts.js): `static/js/charts.js`
- [AutoML wizard](https://github.com/shashtttt/ai-data-visualizer/blob/main/static/js/predict.js): `static/js/predict.js`

### Data analysis

- [Flask API](https://github.com/shashtttt/ai-data-visualizer/blob/main/backend/app.py): `backend/app.py`
- [Dataset profiling and cleaning](https://github.com/shashtttt/ai-data-visualizer/blob/main/backend/cleaner.py): `backend/cleaner.py`
- [Dataset advisor](https://github.com/shashtttt/ai-data-visualizer/blob/main/backend/agent_advisor.py): `backend/agent_advisor.py`

### Predictive intelligence

- [AutoML engine](https://github.com/shashtttt/ai-data-visualizer/blob/main/backend/predictor.py): `backend/predictor.py`
- [Report generation](https://github.com/shashtttt/ai-data-visualizer/blob/main/backend/report_generator.py): `backend/report_generator.py`

### Identity and sharing

- [Authentication and SQLite](https://github.com/shashtttt/ai-data-visualizer/blob/main/backend/db.py): `backend/db.py`
- [Firebase operations](https://github.com/shashtttt/ai-data-visualizer/blob/main/backend/firebase_storage_helper.py): `backend/firebase_storage_helper.py`
- [Firebase configuration](https://github.com/shashtttt/ai-data-visualizer/blob/main/backend/firebase_config.py): `backend/firebase_config.py`
- [Share links](https://github.com/shashtttt/ai-data-visualizer/blob/main/backend/share_manager.py): `backend/share_manager.py`

### Other components

- **Analyst**
- **Firebase Auth**
- **Firebase Storage**
- **Firestore**

## Connections

- Analyst → BI workspace: uses (evidence: `README.md`)
- SPA template → BI workspace: hosts (evidence: `README.md`)
- BI workspace → Flask API: calls API (evidence: `static/js/app.js`)
- BI workspace → Chart renderer: renders charts (evidence: `README.md`)
- AutoML wizard → Flask API: uses API
- Flask API → Dataset profiling and cleaning: calls (evidence: `backend/app.py`)
- Flask API → Dataset advisor: uses (evidence: `backend/app.py`)
- Flask API → AutoML engine: calls (evidence: `backend/app.py`)
- Flask API → Report generation: calls (evidence: `backend/app.py`)
- Flask API → Authentication and SQLite: uses (evidence: `backend/app.py`)
- Flask API → Firebase operations: downloads datasets (evidence: `backend/app.py`)
- Flask API → Share links: manages shares (evidence: `backend/app.py`)
- AutoML engine → Dataset advisor: uses (evidence: `backend/predictor.py`)
- Authentication and SQLite → Firebase operations: delegates auth (evidence: `backend/db.py`)
- Authentication and SQLite → Firebase configuration: initializes (evidence: `backend/db.py`)
- Firebase operations → Firebase configuration: gets clients (evidence: `backend/firebase_storage_helper.py`)
- Share links → Firebase configuration: gets client (evidence: `backend/share_manager.py`)
- Firebase configuration → Firebase Auth: configures (evidence: `backend/firebase_config.py`)
- Firebase configuration → Firebase Storage: configures (evidence: `backend/firebase_config.py`)
- Firebase configuration → Firestore: provides client (evidence: `backend/firebase_config.py`)
- Firebase operations → Firebase Storage: stores datasets (evidence: `backend/firebase_storage_helper.py`)
- Firebase operations → Firestore: stores metadata (evidence: `backend/firebase_storage_helper.py`)
