Go to file
Devika Vellikkunnathillam 455d55a43e Refatcored the Add New Table Modal for ER Diagram Screen 2025-06-18 13:07:23 +05:30
public initial commit 2025-05-23 12:26:18 +05:30
src Refatcored the Add New Table Modal for ER Diagram Screen 2025-06-18 13:07:23 +05:30
.gitignore initial commit 2025-05-23 12:26:18 +05:30
README.md initial commit 2025-05-23 12:26:18 +05:30
eslint.config.js initial commit 2025-05-23 12:26:18 +05:30
index.html initial commit 2025-05-23 12:26:18 +05:30
package-lock.json Added Add + button in the ER diagram 2025-06-17 16:40:37 +05:30
package.json Added Add + button in the ER diagram 2025-06-17 16:40:37 +05:30
vite.config.js initial commit 2025-05-23 12:26:18 +05:30

README.md

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:

npm install
npm run dev

The application will be available at http://localhost:5173/


This project was bootstrapped with Vite and uses React for the UI.