Qubit_EPM/README.md

78 lines
3.0 KiB
Markdown

# Snowflake Data Warehouse Dashboard
An interactive visualization tool for exploring Snowflake data warehouse structures, including databases, schemas, and tables (both fact and dimension).
## Features
- **True Infinite Canvas**: Unlimited zooming and panning capabilities for exploring vast data structures
- **Interactive Exploration**: Click to expand/collapse databases and schemas
- **Table Details**: View detailed information about fact and dimension tables
- **Visual Distinction**: Different colors for databases, schemas, fact tables, and dimension tables
- **Relationship Visualization**: Animated connections between related elements
- **Dynamic Navigation**: Zoom controls and minimap for easy navigation of the infinite space
- **Custom Connections**: Create and manage custom connections between any elements (databases, schemas, tables)
## Implementation Details
This dashboard is built using:
- React for the UI components
- ReactFlow for the interactive graph visualization
- CSS for styling and visual hierarchy
## Usage
1. **Exploring the Data Warehouse**:
- Click on a database node to expand and see its schemas
- Click on a schema node to expand and see its tables
- Click on a table node to view detailed information
2. **Infinite Canvas Navigation**:
- Use the mouse wheel to zoom in/out without limits
- Click and drag to pan infinitely in any direction
- Use the minimap in the bottom-right for quick navigation
- Use the dedicated "Zoom Out" button to quickly get a broader view
- Click "Reset View" to return to the initial state
- Current zoom level is displayed in the control panel
3. **Creating Custom Connections**:
- Click "Start Connection Mode" to enter connection mode
- Choose connection type: Reference, Dependency, or Custom
- Drag from a connection point (dot) on any node
- Drop onto a connection point on another node to create the connection
- View and manage all custom connections in the bottom-left panel
- Delete connections by clicking the "✕" button
- Connection points appear on all four sides of each node
## Data Structure
The dashboard visualizes:
- **Databases**: Top-level containers (e.g., Sales DW, Marketing DW)
- **Schemas**: Logical groupings of tables within a database
- **Fact Tables**: Tables containing measurable, quantitative data about business events
- **Dimension Tables**: Tables containing descriptive attributes used for analysis
## Future Enhancements
- Add search functionality to quickly find specific elements
- Implement filtering options for different table types
- Add ability to save and share specific views
- Integrate with real Snowflake data sources via API
- Add SQL query generation based on selected tables
## Development
To run the project locally:
```bash
npm install
npm run dev
```
The application will be available at http://localhost:5173/
---
This project was bootstrapped with [Vite](https://vitejs.dev/) and uses [React](https://reactjs.org/) for the UI.