Numbered cards for the text sections (1.1-1.3, 2, 4, 11, 12) on the overview, domain interfaces on the technical context, black-box descriptions for every building block, blocks mapped to nodes in the deployment view, crosscutting concepts on level 1, and a 1000-quality folder with the quality tree. The example test checks each section's card.
86 lines
2.9 KiB
Plaintext
86 lines
2.9 KiB
Plaintext
schema_version: 1
|
|
model:
|
|
id: team-wiki
|
|
name: Team Wiki
|
|
description: >
|
|
An arc42 example: a small self-hosted wiki for an engineering team.
|
|
1 Requirements, quality goals, stakeholders; 2 Constraints;
|
|
4 Solution strategy; 11 Risks; 12 Glossary: cards on this overview.
|
|
3 Context: this overview (business) and 0300-context (technical).
|
|
5 Building blocks: 0500-building-blocks, black boxes in registry/.
|
|
6 Runtime: 0600-runtime. 7 Deployment: 0700-deployment.
|
|
8 Crosscutting concepts: card on 0500-building-blocks/level-1.
|
|
9 Decisions: decisions/. 10 Quality: 1000-quality.
|
|
diagram_type: architecture
|
|
meta:
|
|
title: Team Wiki - business context
|
|
output: main.html
|
|
decisions: [sso-only-via-company-idp]
|
|
components:
|
|
- ref: engineer
|
|
pos: [40, 60]
|
|
size: [130, 60]
|
|
- ref: wiki-admin
|
|
pos: [40, 260]
|
|
size: [130, 60]
|
|
- ref: wiki
|
|
pos: [280, 160]
|
|
size: [150, 60]
|
|
- ref: idp
|
|
pos: [520, 60]
|
|
size: [150, 60]
|
|
- ref: object-store
|
|
pos: [520, 260]
|
|
size: [150, 60]
|
|
connections:
|
|
- { from: engineer, to: wiki, label: reads, variant: emphasis }
|
|
- { from: wiki-admin, to: wiki, label: runs }
|
|
- { from: wiki, to: idp, label: sign-in, variant: security }
|
|
- { from: wiki, to: object-store, label: files }
|
|
cards:
|
|
- dot: orange
|
|
title: 1.1 Requirements
|
|
items:
|
|
- "Create, edit and version pages in team spaces"
|
|
- "Full-text search over every page a user may read"
|
|
- "Attach files to pages"
|
|
- "Admin restores the wiki from a nightly backup"
|
|
- dot: cyan
|
|
title: 1.2 Quality goals
|
|
items:
|
|
- "Findability: any page found in two searches"
|
|
- "Security: only current staff can read"
|
|
- "Operability: one person runs it in an hour a week"
|
|
- dot: amber
|
|
title: 1.3 Stakeholders
|
|
items:
|
|
- "Engineer: fast search, simple editor"
|
|
- "Wiki admin: little routine work, easy restore"
|
|
- "Security officer: no access after leaving"
|
|
- "Team lead: one place for team knowledge"
|
|
- dot: slate
|
|
title: 2 Constraints
|
|
items:
|
|
- "Runs on the company Kubernetes cluster"
|
|
- "Sign-in only via the company identity provider"
|
|
- dot: emerald
|
|
title: 4 Solution strategy
|
|
items:
|
|
- "React, Node.js API, PostgreSQL: one stack the team knows"
|
|
- "Three blocks plus a backup job: operability"
|
|
- "Findability: PostgreSQL full-text search (postgres-full-text-search)"
|
|
- "Security: OIDC at the company IdP only (sso-only-via-company-idp)"
|
|
- "Operability: files and backups in company object storage"
|
|
- dot: rose
|
|
title: 11 Risks and technical debt
|
|
items:
|
|
- "Risk: identity provider outage blocks all sign-ins"
|
|
- "Risk: backups untested until a restore drill is run"
|
|
- "Debt: attachments are not virus-scanned yet"
|
|
- dot: violet
|
|
title: 12 Glossary
|
|
items:
|
|
- "Space: pages of one team, mapped to a group"
|
|
- "Revision: one saved version of a page"
|
|
- "Attachment: a file stored beside a page"
|