Skip to content

Instantly share code, notes, and snippets.

@donbr
Last active February 16, 2025 05:28
Show Gist options
  • Save donbr/f5929192fae9a9fe39f9391b47fa13a5 to your computer and use it in GitHub Desktop.
Save donbr/f5929192fae9a9fe39f9391b47fa13a5 to your computer and use it in GitHub Desktop.
gdelt-insight-mermaid-flow.md
flowchart TD
  %% Home Page Navigation
  subgraph Home["Home Page (app.py)"]
    A[User] -->|Selects analysis mode| B[Sidebar Navigation]
    B --> C{Available Pages}
    C -->|COVID Navigator| Page1
    C -->|COVID Event Graph Explorer| Page2
    C -->|Global Network Analysis| Page3
    C -->|Feb 2025 Navigator| Page4
    C -->|Feb 2025 Event Graph Explorer| Page5
    C -->|Feb 2025 Dataset Explorer| Page6
  end

  %% Page 1: COVID Navigator
  subgraph Page1["COVID Navigator (Page 1)"]
    P1A[User enters filters] --> P1B[AgGrid Data Grid]
    P1B -->|Sends filter params| P1C["DuckDB Query<br/>(get_gdelt_data)"]
    P1C -->|Returns DataFrame| P1B
    P1B -->|User selects record| P1D[Display Raw Record Details]
  end

  %% Page 2: COVID Event Graph Explorer
  subgraph Page2["COVID Event Graph Explorer (Page 2)"]
    P2A[User enters filters] --> P2B[AgGrid Data Grid]
    P2B -->|Sends filter params| P2C["DuckDB Query<br/>(get_gdelt_data)"]
    P2C -->|Returns DataFrame| P2B
    P2B -->|User selects record| P2D[StLinkBuilder processes record]
    P2D -->|Builds graph| P2E[Graph rendered<br/>via st_link_analysis]
  end

  %% Page 3: Global Network Analysis
  subgraph Page3["Global Network Analysis (Page 3)"]
    P3A[User adjusts filters] --> P3B[Sidebar Controls]
    P3B -->|Sends filter params| P3C["DuckDB Query<br/>(get_gdelt_data)"]
    P3C -->|Returns DataFrame| P3D[StreamlitGraphBuilder<br/>builds NetworkX graph]
    P3D --> P3E[Compute metrics:<br/>centrality & community detection]
    P3E --> P3F[Visualize with Pyvis]
    P3F --> P3G["Export options<br/>(GraphML, JSON)"]
  end

  %% Page 4: Feb 2025 Navigator
  subgraph Page4["Feb 2025 Navigator (Page 4)"]
    P4A[User enters filters] --> P4B[AgGrid Data Grid]
    P4B -->|Sends filter params| P4C["DuckDB Query<br/>(tone_vw view)"]
    P4C -->|Returns DataFrame| P4B
    P4B -->|User selects record| P4D[Display Raw Record Details]
  end

  %% Page 5: Feb 2025 Event Graph Explorer
  subgraph Page5["Feb 2025 Event Graph Explorer (Page 5)"]
    P5A[User enters filters] --> P5B[AgGrid Data Grid]
    P5B -->|Sends filter params| P5C["DuckDB Query<br/>(tone_vw view)"]
    P5C -->|Returns DataFrame| P5B
    P5B -->|User selects record| P5D[StLinkBuilder processes record]
    P5D -->|Builds graph| P5E[Graph rendered<br/>via st_link_analysis]
  end

  %% Page 6: Feb 2025 Dataset Explorer
  subgraph Page6["Feb 2025 Dataset Explorer (Page 6)"]
    P6A[User adjusts filters] --> P6B[Sidebar Filters]
    P6B -->|Load data| P6C["Hugging Face Dataset<br/>(load_dataset)"]
    P6C -->|Returns DataFrame| P6B
    P6B --> P6D[Display filtered DataFrame]
    P6D --> P6E[Download CSV option]
  end
Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment