diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index cdc1b52..749f0b9 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -6,6 +6,7 @@ { "id": "4401c2028975be2d", "type": "tabs", + "dimension": 84.22712933753942, "children": [ { "id": "0291e64e72ae27cb", @@ -197,6 +198,7 @@ { "id": "eec95490d79df958", "type": "tabs", + "dimension": 15.772870662460567, "children": [ { "id": "a08a485a4ac0f8d8", @@ -284,7 +286,7 @@ } ], "direction": "horizontal", - "width": 267.50390243530273 + "width": 200 }, "right": { "id": "1017d1cf4a473028", @@ -454,7 +456,8 @@ } ], "direction": "horizontal", - "width": 261.5 + "width": 261.5, + "collapsed": true }, "left-ribbon": { "hiddenItems": { diff --git a/Temporary/Webapp - Chirp Log Review.md b/Temporary/Webapp - Chirp Log Review.md index e5334f9..6da2cb1 100644 --- a/Temporary/Webapp - Chirp Log Review.md +++ b/Temporary/Webapp - Chirp Log Review.md @@ -7,6 +7,52 @@ tags: --- # Webapp - Chirp Log Review +## Architecture + +```mermaid +flowchart TD + %% Clusters + subgraph Client + C1[Request upload URL] + C2[Upload file via signed URL] + C3[Request download URL] + C4[Download file] + end + + subgraph Flask + F1[Generate signed upload URL] + F2[Insert file metadata into Postgres] + F3[Generate signed download URL] + end + + subgraph S3 + S1[Object: flight123.chirp] + end + + subgraph Postgres + D1[(files table)] + D2[(log_meta table)] + D3[(log_timeseries table)] + end + + %% Upload flow + C1 -->|ask upload| F1 + F1 -->|return signed URL| C1 + C2 -->|PUT file| S3 + S3 -->|ack upload| C2 + F2 --> D1 + + %% Download flow + C3 -->|ask download| F3 + F3 -->|return signed URL| C3 + C4 -->|GET file| S3 + + %% DB relations + D1 --> D2 + D2 --> D3 +``` + + ## Feature Implementation Plan