All diagrams //3 of 3
Open Fugro Cookie Report Script
🌙
Fugro Cookie Report Script
20 Jul, 2026
sequenceDiagram
participant CookieReportScript
participant Component
participant Storyblok
participant Editor
CookieReportScript<<-->>Component:
Editor->>Storyblok:
Component->>Storyblok:Open Fugro - Storyblok S3 Backup
⭐
Fugro - Storyblok S3 Backup
01 Jun, 2026
graph TD
fsb2 --> aws1
fsb6 <--> aws1
m2 --> aws1
subgraph s2["Fugro Storyblok (via Apps)"]
fsb6(["Storyblok Cloudformation Backup Scheme (YML)"])
fsb3 --> fsb4
fsb3 --> fsb1
fsb3["Storyblok"]
fsb2(["SB App: S3 Backup"])
fsb4(["trigger backup"])
fsb1(["backup schedule"])
fsb1 --> fsb2
fsb4 --> fsb2
end
subgraph s1["AWS"]
aws1["CloudFormation"]
aws1 --> aws2
aws2(["S3"])
aws3["Bucket"]
aws2 --> aws3
aws4(["IAM"])
aws5("Allowed Role")
aws4 <--> aws5 <--> aws1
end
subgraph s3["Storyblok MAPI"]
m1(["trigger"])
m1 --> m3
m2(["backup"])
m3["Run backup script"]
m3 --> m2
endOpen ROVC Architecture
🦑
ROVC Architecture
26 May, 2026
---
config:
theme: redux
layout: elk
---
flowchart TB
subgraph s1["Type of Content"]
n2["Course"]
n3["Study"]
n4["Exam"]
n5["Knowledge Test"]
n6["News"]
n7["Discipline"]
n8["Quiz"]
n9["FAQ"]
n10["Other"]
end
subgraph s3["Slug type"]
subgraph s5["Aanbod"]
n25["/aanbod"]
n25 --> n41["[product]"] & n42["Aanbod Page"]
n41 --> n63["[product] Page"]
end
subgraph s6["Bestellen Kennistest"]
n26["/bestellen-kennistest"]
n26 --> n58["[testSlug]"]
n58 --> n59["[step]"]
n59 --> n60(["Layout"]) & n85["[step] Page"]
end
subgraph s7["Inschrijven Cursus"]
n30["/inschrijven-cursus"]
n30 --> n65["[courseId]"]
n65 --> n66["step"]
n66 --> n67(["Layout"]) & n68["[step] Page"]
end
subgraph s13["Bevestiging"]
n27["/bevestiging"]
n27 --> n62["Bevestiging Page"]
end
subgraph s11["Inschrijven examen"]
n31["/inschrijven-examen"]
n31 --> n69["[examId]"]
n69 --> n70["[step]"]
n69 --> n73["[examId] Page"]
n70 --> n71(["Layout"]) & n72["[step] Page"]
end
subgraph s14["Cursus"]
n28["/cursus"]
n28 --> n53["[course]"]
n53 --> n56["[course] Page"]
end
subgraph s12["Opleiding"]
n35["/opleiding"]
n35 --> n45["[study]"]
n45 --> n55["[study] Page"]
end
subgraph s15["Kennisgebied"]
n32["/kennisgebied"]
n32 --> n80["[discipline]"]
n80 --> n81["[subPage]"]
n80 --> n82["[discipline] Page"]
end
subgraph s4["10 Vragentest"]
n24["/10-vragentest"]
n24 --> n43["10 Vragentest Page"] & n44["[Quiz]"]
n44 --> n46["[step]"] & n49["Resultaat Page"] & n50["Start Page"] & n51["Uitslag Page"]
n46 --> n47(["Layout"]) & n48["[Step] Page"]
end
subgraph s16["Examen"]
n29["/examen"]
n29 --> n64["[exam]"]
n64 --> n74["[examId] Page"]
end
subgraph s8["Nieuws"]
n33["/nieuws"]
n33 --> n77["[article]"]
n33 --> n78["Nieuws Page"]
n77 --> n79["[article] Page"]
end
subgraph s19["[...slug]"]
n39["/[...slug]"]
n39 --> n52["[...slug] page"]
end
subgraph s18["Opleidingsplan"]
n36["/opleidingsplan"]
n36 --> n83["[studyId]"]
n83 --> n84["[step]"]
n84 --> n86["[step] Page"]
end
subgraph s17["Offerte"]
n34["/offerte"]
n34 --> n57["[courseId]"]
n57 --> n75["[step]"]
n75 --> n76["[step] Page"]
end
subgraph s9["Planningsverzoek"]
n37["/planningsverzoek"]
n37 --> n87["Planningsverzoek Page"]
end
subgraph s10["Planningsverzoek examen"]
n38["/planningsverzoek-examen"]
n38 --> n61["Planningsverzoek Examen Page"]
end
end
n1["Kontent AI CMS"] --> n21["Edit Content"] & s1
s1 --> n12["Custom Elements"] & n11["Get Full Slug"]
s1 <--> n21
n15["Tree URL"] --> n16(["Full Slug Outcome"])
n16 --> n17["Kontent AI SDK - Get Custom Elements"]
n20["Display Full Slug"]
n20 --> n21
n12 --> n15
n11 ---> n99
n22["Next.JS app"] --> n23["Router"]
n23 --> s10
n23 --> s11
n23 --> s12
n23 --> s5
n23 --> s13
n23 --> s9
n23 --> s8
n23 --> s17
n23 --> s19
n23 --> s18
n23 --> s14
n23 --> s16
n23 --> s15
n23 --> s4
n23 --> s7
n23 --> s6
n23 --> n40
n88 --> n99
n88 --> n101
n88 --> n102
n88 --> n103
n88 --> n98
n106 --> n20
subgraph s20["ApiLayer"]
n40["API"]
n40 --> n88["Auth"]
n98["draft"]
n99["generate-full-slug"]
n100["kai"]
n100 --> n104["field-editor"]
n104 --> n105["full-slug"]
n99 --> n106("Response: Get Full Slug")
n101["revalidate-edge-config"]
n102["revalidate-non-pdp"]
n103["revalidate-pdp"]
end
n1@{ shape: hex}
n21@{ shape: diam}
n12@{ shape: card}
n22@{ shape: hex}
n41@{ shape: trap-b}
n44@{ shape: trap-b}
n45@{ shape: trap-b}
n46@{ shape: trap-b}
n53@{ shape: trap-b}
n57@{ shape: trap-b}
n58@{ shape: trap-b}
n59@{ shape: trap-b}
n64@{ shape: trap-b}
n65@{ shape: trap-b}
n66@{ shape: trap-b}
n69@{ shape: trap-b}
n70@{ shape: trap-b}
n75@{ shape: trap-b}
n77@{ shape: trap-b}
n80@{ shape: trap-b}
n81@{ shape: trap-b}
n83@{ shape: trap-b}
n84@{ shape: trap-b}