# 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.