Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions docs/architecture/c4/ttl/create-ttl.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
layout: page
title: Digital Letters - Printed Letter TTL Creation
parent: Architecture
nav_order: 1
has_children: false
is_not_draft: false
last_modified_date: 2025-10-09
owner: Tom D'Roza
author: Tom D'Roza
---

```mermaid
architecture-beta
group createTtl(cloud)[Time_To_Live]

service db(logos:aws-dynamodb)[DynamoDB] in createTtl
service createLambda(logos:aws-lambda)[Create print ttl] in createTtl
service queue(logos:aws-sqs)[SQS] in createTtl
service storedEvent(logos:aws-eventbridge)[LetterStored event]
service scheduledEvent(logos:aws-eventbridge)[LetterPrintingScheduled event]

storedEvent:R --> L:queue
queue:R --> L:createLambda
createLambda:R --> L:db
db:R --> L:scheduledEvent
25 changes: 25 additions & 0 deletions docs/architecture/c4/ttl/manage-ttl.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
layout: page
title: Digital Letters - Printed Letter TTL Management
parent: Architecture
nav_order: 2
has_children: false
is_not_draft: false
last_modified_date: 2025-10-09
owner: Tom D'Roza
author: Tom D'Roza
---

```mermaid
architecture-beta
group manageTTL(cloud)[ManageTTL]
service manageLambda(logos:aws-lambda)[Poll TTL] in manageTTL
service manageDb(logos:aws-dynamodb)[DynamoDB] in manageTTL
service ttlStream(logos:aws-stream)[Stream] in manageTTL
service manageTtlExpiry(logos:aws-lambda)[handleTTLExpiry] in manageTTL
service printTTLExpired(logos:aws-eventbridge)[PrintTTLExpired] in manageTTL

manageLambda:R -- L:manageDb
manageDb:B -- T:ttlStream
ttlStream:R -- L:manageTtlExpiry
manageTtlExpiry:R -- L:printTTLExpired
25 changes: 25 additions & 0 deletions docs/diagrams/create-print-ttl-sequence.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
layout: page
title: Fallback to Printing Sequence Diagram
nav_order: 3
parent: Diagrams
has_children: false
child_nav_order: reversed
is_not_draft: false
last_modified_date: 2025-10-08
owner: Tom D'Roza
author: Tom D'Roza
---

```mermaid
sequenceDiagram
participant eb as Event Bridge
participant sqs as SQS
participant createTTL as Create TTL Lambda
participant dynamo as DynamoDB


eb ->> sqs: LetterStored event
sqs ->> createTTL:
createTTL ->> dynamo: Insert (24h TTL)
```
2 changes: 1 addition & 1 deletion docs/diagrams/digital-letters-flow.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
layout: page
title: Flow diagram
nav_order: 2
nav_order: 1
parent: Diagrams
has_children: false
child_nav_order: reversed
Expand Down
2 changes: 1 addition & 1 deletion docs/diagrams/digital-letters-sequence.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
layout: page
title: Sequence diagram
title: Digital Letters Sequence diagram
nav_order: 2
parent: Diagrams
has_children: false
Expand Down
32 changes: 32 additions & 0 deletions docs/diagrams/expire-print-ttl-sequence.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
layout: page
title: Fallback to Printing Sequence Diagram
nav_order: 3
parent: Diagrams
has_children: false
child_nav_order: reversed
is_not_draft: false
last_modified_date: 2025-10-08
owner: Tom D'Roza
author: Tom D'Roza
---

```mermaid
sequenceDiagram
participant dynamo as DynamoDB
participant stream as DynamoDB Stream
participant expireTTL as Expire TTL Lambda
participant processTTLExpiry as Process TTL Expiry Lambda
participant eb as Event Bridge

alt Dynamo auto-expires after TTL
dynamo ->> dynamo: TTL expires
dynamo ->> stream: TTL expired
stream ->> processTTLExpiry:
processTTLExpiry ->> eb: PrintTTLExpired Event
else Polling Lamba expires after TTL
expireTTL ->> dynamo:
dynamo ->> stream: TTL expired
processTTLExpiry ->> eb: PrintTTLExpired Event
end
```
Loading