All diagrams //1 of 1

Open 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 s2["Next.js"]
        n18["Fetch Full Slug from Custom Elements"]
        n19["Function to send Full Slug"]
  end
 subgraph s3["Slug type"]
        n24["10 Vragentest"]
        n25["Aanbod"]
        n26["Bestellen Kennistest"]
        n27["Bevestiging"]
        n28["Cursus"]
        n29["Examen"]
        n30["Inschrijven Cursus"]
        n31["Inschrijven Examen"]
        n32["Kennisgebied"]
        n33["Nieuws"]
        n34["Offerte"]
        n35["Opleiding"]
        n36["Opleidingsplan"]
        n37["Planningsverzoek"]
        n38["Planningsverzoek Examen"]
        n39["[...slug]"]
  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<br>Get Custom Elements"]
    n18 --> n19
    n11 --> n20["Display Full Slug"]
    n17 --> s2
    s2 --> n11
    n21 <--> n20
    n12 --> n15
    n22["Next.JS app"] --> n23["Router"]
    n23 --> s3 & n40["API"]
    n25 --> n41["[product]"] & n42["Aanbod Page"]
    n24 --> n43["10 Vragentest Page"] & n44["[Quiz]"]
    n35 --> n45["[study]"]
    n44 --> n46["[step]"] & n49["Resultaat Page"] & n50["Start Page"] & n51["Uitslag Page"]
    n46 --> n47(["Layout"]) & n48["[Step] Page"]
    n39 --> n52["[...slug] page"]
    n28 --> n53["[...course]"]
    n45 --> n55["[study] Page"]
    n53 --> n56["[course] Page"]
    n34 --> n57["[courseId]"]
    n26 --> n58["[testSlug]"]
    n58 --> n59["[step]"]
    n59 --> n60(["Layout"]) & n61["[step] Page"]
    n38 --> n61["Planningsverzoek Page"]
    n27 --> n62["Bevestiging Page"]

    n18@{ shape: rounded}
    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}