Skip to content

Commit 68a7eca

Browse files
committed
CCM-12274: Added C4 & sequence diagrams for create/manage TTL that controls fallback to printing
1 parent f7618a9 commit 68a7eca

File tree

6 files changed

+110
-2
lines changed

6 files changed

+110
-2
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
layout: page
3+
title: Digital Letters - Printed Letter TTL Creation
4+
parent: Architecture
5+
nav_order: 1
6+
has_children: false
7+
is_not_draft: false
8+
last_modified_date: 2025-10-09
9+
owner: Tom D'Roza
10+
author: Tom D'Roza
11+
---
12+
13+
```mermaid
14+
architecture-beta
15+
group createTtl(cloud)[Time_To_Live]
16+
17+
service db(logos:aws-dynamodb)[DynamoDB] in createTtl
18+
service createLambda(logos:aws-lambda)[Create print ttl] in createTtl
19+
service queue(logos:aws-sqs)[SQS] in createTtl
20+
service storedEvent(logos:aws-eventbridge)[LetterStored event]
21+
service scheduledEvent(logos:aws-eventbridge)[LetterPrintingScheduled event]
22+
23+
storedEvent:R --> L:queue
24+
queue:R --> L:createLambda
25+
createLambda:R --> L:db
26+
db:R --> L:scheduledEvent
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
layout: page
3+
title: Digital Letters - Printed Letter TTL Management
4+
parent: Architecture
5+
nav_order: 2
6+
has_children: false
7+
is_not_draft: false
8+
last_modified_date: 2025-10-09
9+
owner: Tom D'Roza
10+
author: Tom D'Roza
11+
---
12+
13+
```mermaid
14+
architecture-beta
15+
group manageTTL(cloud)[ManageTTL]
16+
service manageLambda(logos:aws-lambda)[Poll TTL] in manageTTL
17+
service manageDb(logos:aws-dynamodb)[DynamoDB] in manageTTL
18+
service ttlStream(logos:aws-stream)[Stream] in manageTTL
19+
service manageTtlExpiry(logos:aws-lambda)[handleTTLExpiry] in manageTTL
20+
service printTTLExpired(logos:aws-eventbridge)[PrintTTLExpired] in manageTTL
21+
22+
manageLambda:R -- L:manageDb
23+
manageDb:B -- T:ttlStream
24+
ttlStream:R -- L:manageTtlExpiry
25+
manageTtlExpiry:R -- L:printTTLExpired
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
layout: page
3+
title: Fallback to Printing Sequence Diagram
4+
nav_order: 3
5+
parent: Diagrams
6+
has_children: false
7+
child_nav_order: reversed
8+
is_not_draft: false
9+
last_modified_date: 2025-10-08
10+
owner: Tom D'Roza
11+
author: Tom D'Roza
12+
---
13+
14+
```mermaid
15+
sequenceDiagram
16+
participant eb as Event Bridge
17+
participant sqs as SQS
18+
participant createTTL as Create TTL Lambda
19+
participant dynamo as DynamoDB
20+
21+
22+
eb ->> sqs: LetterStored event
23+
sqs ->> createTTL:
24+
createTTL ->> dynamo: Insert (24h TTL)
25+
```

docs/diagrams/digital-letters-flow.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
layout: page
33
title: Flow diagram
4-
nav_order: 2
4+
nav_order: 1
55
parent: Diagrams
66
has_children: false
77
child_nav_order: reversed

docs/diagrams/digital-letters-sequence.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
layout: page
3-
title: Sequence diagram
3+
title: Digital Letters Sequence diagram
44
nav_order: 2
55
parent: Diagrams
66
has_children: false
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
layout: page
3+
title: Fallback to Printing Sequence Diagram
4+
nav_order: 3
5+
parent: Diagrams
6+
has_children: false
7+
child_nav_order: reversed
8+
is_not_draft: false
9+
last_modified_date: 2025-10-08
10+
owner: Tom D'Roza
11+
author: Tom D'Roza
12+
---
13+
14+
```mermaid
15+
sequenceDiagram
16+
participant dynamo as DynamoDB
17+
participant stream as DynamoDB Stream
18+
participant expireTTL as Expire TTL Lambda
19+
participant processTTLExpiry as Process TTL Expiry Lambda
20+
participant eb as Event Bridge
21+
22+
alt Dynamo auto-expires after TTL
23+
dynamo ->> dynamo: TTL expires
24+
dynamo ->> stream: TTL expired
25+
stream ->> processTTLExpiry:
26+
processTTLExpiry ->> eb: PrintTTLExpired Event
27+
else Polling Lamba expires after TTL
28+
expireTTL ->> dynamo:
29+
dynamo ->> stream: TTL expired
30+
processTTLExpiry ->> eb: PrintTTLExpired Event
31+
end
32+
```

0 commit comments

Comments
 (0)