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
4 changes: 2 additions & 2 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:

# ── .NET API ────────────────────────────────────────────────────────────────
test-api:
name: .NET Test
name: .NET Build & Test
runs-on: ubuntu-latest

services:
Expand Down Expand Up @@ -61,7 +61,7 @@ jobs:

# ── React Frontend ──────────────────────────────────────────────────────────
test-frontend:
name: Frontend Build
name: Frontend Build & Test
runs-on: ubuntu-latest

steps:
Expand Down
72 changes: 61 additions & 11 deletions diagrams/README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,49 @@
# Diagrams — HelloNetworkWorld

This directory contains architecture and flow diagrams for the HelloNetworkWorld project.
Architecture diagrams for HelloNetworkWorld, maintained in multiple formats for GitHub rendering and broad tool support.

---

## Diagram Index
## Format Convention

| File | Format | Description | Status |
|------|--------|-------------|--------|
| `architecture-overview.drawio` | draw.io | System architecture: FE, API, DB, OpenShift, GitOps | TODO |
| `network-test-flow.drawio` | draw.io | Network test execution lifecycle (schedule → probe → result → state change) | TODO |
| `network-policy-automation.drawio` | draw.io | Feature 007 flow: new test → Octokit → PR → ArgoCD merge → policy applied | TODO |
| `auth-flow-phase2.drawio` | draw.io | Keycloak OIDC login flow (Phase 2) | TODO |
| Format | Extension | Purpose |
|--------|-----------|---------|
| Draw.io | `.drawio` | Primary editable source — open in [draw.io](https://app.diagrams.net) or VS Code Draw.io extension |
| PlantUML | `.puml` | Text-based UML — version-control friendly, renderable on GitHub via plugin |

---

## Folder Structure

```
diagrams/
drawio/ <- Draw.io source files
svg/ <- Exported SVGs (committed; used in docs and GitHub rendering)
plantuml/ <- PlantUML source files
png/ <- Exported PNGs (committed)
data-model/ <- ERD and schema diagrams (both formats)
svg/
png/
```

---

## Required Diagrams

Per `CODING_STANDARDS.md` §7, the complete UML suite is required as the project grows.

| # | Diagram | Format | File | Status |
|---|---------|--------|------|--------|
| 1 | System / component architecture | draw.io | `drawio/component-diagram.drawio` | TODO |
| 2 | Deployment topology (Emerald be808f) | draw.io | `drawio/deployment.drawio` | TODO |
| 3 | Domain class model | PlantUML | `plantuml/domain-model.puml` | TODO |
| 4 | Use case overview | PlantUML | `plantuml/use-cases.puml` | TODO |
| 5 | Network test execution flow | draw.io | `drawio/network-test-execution.drawio` | TODO |
| 6 | Network policy automation flow (007) | draw.io | `drawio/network-policy-automation.drawio` | TODO |
| 7 | Keycloak OIDC auth flow (Phase 2) | draw.io | `drawio/auth-flow-oidc.drawio` | TODO |
| 8 | NetworkTestDefinition state lifecycle | PlantUML | `plantuml/state-network-test.puml` | TODO |
| 9 | ERD — current .NET model | draw.io + PlantUML | `data-model/erd-current.drawio` + `.puml` | TODO |
| 10 | Physical schema | PlantUML | `data-model/erd-physical.puml` | TODO |

---

Expand Down Expand Up @@ -40,7 +72,25 @@ This directory contains architecture and flow diagrams for the HelloNetworkWorld

---

## Tools
## Export Commands

```bash
# Draw.io → SVG (requires draw.io CLI)
draw.io --export --format svg --embed-diagram --border 10 diagrams/drawio/*.drawio \
--output diagrams/drawio/svg/

# PlantUML → PNG
plantuml -o ../png diagrams/plantuml/*.puml

# PlantUML → PNG for data-model
plantuml -o png diagrams/data-model/*.puml
```

SVG files should use `background="#ffffff"` and `strokeWidth=2` on edges for consistent GitHub rendering.

---

## VS Code Extensions

Diagrams use [draw.io](https://app.diagrams.net) (`.drawio` format, stored as XML).
To edit: open `*.drawio` with draw.io desktop or VS Code draw.io extension.
- [Draw.io Integration](https://marketplace.visualstudio.com/items?itemName=hediet.vscode-drawio) — edit `.drawio` files in VS Code
- [PlantUML](https://marketplace.visualstudio.com/items?itemName=jebbs.plantuml) — preview `.puml` files with Alt+D
Empty file.
Empty file.
Empty file added diagrams/drawio/svg/.gitkeep
Empty file.
Empty file added diagrams/plantuml/png/.gitkeep
Empty file.
3 changes: 3 additions & 0 deletions src/HNW.WebClient/vite.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,5 +31,8 @@ export default defineConfig({
build: {
outDir: 'dist',
sourcemap: false,
// esnext required — main.jsx uses top-level await to load /config.json
// at runtime before React mounts (runtime config pattern for multi-env images)
target: 'esnext',
},
});
Loading