Skip to content

aloefflerj/rube-goldberg-hello-world

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rube-goldberg-hello-world

A hello world with the rube goldberg machine philosophy

Application in use:

2024-09-17-21-08-57.mov

Architecture:

flowchart TB
    subgraph React
        style React fill:#51afe6,stroke:#51afe6,stroke-width:2px, rx: 2,ry:2
        direction TB
        id1(Click Step Button)
        id6(Rerender)
        style id1 fill:#4079ab,stroke:#61DAFB,stroke-width:1px,color:#51afe6
        style id6 fill:#4079ab,stroke:#61DAFB,stroke-width:1px,color:#51afe6
    end    
    subgraph PHP
        style PHP fill:#4F5B93,stroke:#4F5B93,stroke-width:2px, rx: 2,ry:2
        direction TB
        id2(Route: /steps/next)
        style id2 fill:#394375,stroke:#7A86B8,stroke-width:1px,color:#7A86B8
    end
    subgraph RabbitMQ
        style RabbitMQ fill:#d96e26,stroke:#d96e26,stroke-width:2px, rx: 2,ry:2
        direction TB
        id4(add to 'steps' queue)
        style id4 fill:#954915,stroke:#cb7d48,stroke-width:1px,color:#cb7d48
        id12(add to 'debug' queue)
        style id12 fill:#954915,stroke:#cb7d48,stroke-width:1px,color:#cb7d48
    end
    subgraph MySQL
        style MySQL fill:#2b5d80,stroke:#2b5d80,stroke-width:2px, rx: 2,ry:2
        direction TB
        id3(UPDATE steps)
        style id3 fill:#183e59,stroke:#427599,stroke-width:1px,color:#427599
    end
    subgraph Node-MQ-Sender
        style Node-MQ-Sender fill:#79a81a,stroke:#79a81a,stroke-width:2px, rx: 2,ry:2
        direction TB
        id7(Watch 'steps' queue)
        style id7 fill:#53760e,stroke:#9ac645,stroke-width:1px,color:#9ac645
        id8(Notify astro websocket)
        style id8 fill:#53760e,stroke:#9ac645,stroke-width:1px,color:#9ac645
        id9(Notify svelte websocket)
        style id9 fill:#53760e,stroke:#9ac645,stroke-width:1px,color:#9ac645
        id13(Watch 'debug' queue)
        style id13 fill:#53760e,stroke:#9ac645,stroke-width:1px,color:#9ac645
        id14(Notify vue websocket)
        style id14 fill:#53760e,stroke:#9ac645,stroke-width:1px,color:#9ac645
    end
    subgraph Astro
    style Astro fill:#bd517a,stroke:#a83762,stroke-width:2px, rx: 2,ry:2
    direction TB
    id10(Render speech)
    style id10 fill:#a83762,stroke:#cb6a8f,stroke-width:1px,color:#cb6a8f
    end
    subgraph Svelte
    style Svelte fill:#cc6146,stroke:#cc6146,stroke-width:2px, rx: 2,ry:2
    direction TB
    id11(Render gif)
    style id11 fill:#9d432c,stroke:#d48875,stroke-width:1px,color:#d48875
    end
    subgraph Vue
    style Vue fill:#42B883,stroke:#42B883,stroke-width:2px, rx: 2,ry:2
    direction TB
    id15(Render debug info)
    style id15 fill:#37a38c,stroke:#A2FDBA,stroke-width:1px,color:#A2FDBA
    end
    id0(User)-- 1 -->id1
    id1-- 2 -->id2
    id2-- 3 -->id3
    id3-- 4 -->id2
    id2-- 5 -->id4
    id2-- 6 -->id6
    PHP-- if debug is active notify between steps (2.5, 3.5, 4.5) -->id12
    RabbitMQ-- on demand --> id7
    RabbitMQ-- on demand --> id13
    id7-->id8
    id7-->id9
    id8-->id10
    id9-->id11
    id13-->id14
    id14-->id15
Loading

About

A hello world with the rube goldberg machine philosophy

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published