Skip to content

Instantly share code, notes, and snippets.

@eonist
Created January 4, 2025 14:20
Show Gist options
  • Save eonist/1e0c07f0723039e6e261f11d7b1b4e0c to your computer and use it in GitHub Desktop.
Save eonist/1e0c07f0723039e6e261f11d7b1b4e0c to your computer and use it in GitHub Desktop.
graph test.md

graph TB subgraph Host["Host Application Layer"] App["iOS/macOS App (SwiftUI)"]:::host end

subgraph Core["CrashKit Core"]
    CrashHandler["Crash Handler"]:::core
    Sanitizer["Sanitizer"]:::core
    FileManager["File Manager"]:::core
end

subgraph Integration["Integration Layer"]
    Crashlytic["Crashlytic (Shared)"]:::integration
    Callbacks["Custom Callbacks"]:::integration
    Network["Network Transport"]:::integration
end

subgraph External["External Services"]
    Services["GA4/Telemetric"]:::external
end

%% Connections
App --> Crashlytic
Crashlytic --> CrashHandler
CrashHandler --> Sanitizer
Sanitizer --> FileManager
Crashlytic --> Callbacks
Callbacks --> Network
Network --> Services

%% Click Events
click CrashHandler "https://github.com/sentryco/crashkit/blob/main/Sources/CrashKit/util/CrashHandler.swift"
click Sanitizer "https://github.com/sentryco/crashkit/blob/main/Sources/CrashKit/util/Sanitizer.swift"
click FileManager "https://github.com/sentryco/crashkit/blob/main/Sources/CrashKit/ext/FileManager+Ext.swift"
click Crashlytic "https://github.com/sentryco/crashkit/blob/main/Sources/CrashKit/Crashlytic.swift"
click App "https://github.com/sentryco/crashkit/blob/main/ExampleDemo/ExampleDemo/ExampleDemo.swift"

%% Styles
classDef core fill:#a8d1f0,stroke:#2980b9,stroke-width:2px
classDef integration fill:#b8e994,stroke:#27ae60,stroke-width:2px
classDef external fill:#f8c291,stroke:#e67e22,stroke-width:2px
classDef host fill:#d1d8e0,stroke:#2c3e50,stroke-width:2px

%% Legend
subgraph Legend
    L1["Core Components"]:::core
    L2["Integration Points"]:::integration
    L3["External Services"]:::external
    L4["Host Application"]:::host
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment