Keine Beschreibung
- TypeScript 85.4%
- CSS 11.4%
- Makefile 2.3%
- HTML 0.9%
|
|
||
|---|---|---|
| .devcontainer | ||
| .forgejo/workflows | ||
| public | ||
| src | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| index.html | ||
| LICENSE | ||
| Makefile | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.app.json | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| vite.config.ts | ||
Assessment Webapp
React + TypeScript Webapp fuer YAML-konfigurierbare Assessments mit Wizard-Flow, Ergebnisberechnung und lokalem JSON-Import/Export.
Was die App kann
- Assessment-Fragen aus statischen YAML-Dateien im Deployment laden
- Fragen Schritt fuer Schritt durchlaufen (eine Frage pro Schritt)
- Drei Auswertungsmodi unterstuetzen: score, criteria, tree
- Ergebnis inkl. Zeitstempel anzeigen
- Aktuelle Runde und Verlauf im Browser speichern (localStorage)
- Daten lokal als JSON exportieren und wieder importieren
Aktuell verfuegbare Assessments
Im UI sind genau diese YAML-Dateien auswaehlbar:
- public/assessment.cloud-strategy.yaml
- public/assessment.cloud-regulated.yaml
- public/assessment.cloud-regulated.tree.yaml
Standard ist:
- assessment.cloud-strategy.yaml
Optional kann per URL-Parameter ein anderes hinterlegtes Assessment gesetzt werden, z. B.:
- ?assessment=assessment.cloud-regulated.yaml
Nur die oben genannten Dateien sind gueltig.
Schnellstart
Voraussetzung: Node.js 20+
- Abhaengigkeiten installieren:
npm ci
- Entwicklungsserver starten:
npm run dev
- Produktionsbuild erstellen:
npm run build
- Build lokal ansehen:
npm run preview
NPM Scripts
- npm run dev: Startet Vite im Entwicklungsmodus
- npm run typecheck: Fuehrt TypeScript-Checks fuer App und Node-Konfig aus
- npm run build: Fuehrt Typecheck aus und baut danach mit Vite
- npm run preview: Startet Vorschau fuer dist/
Makefile-Kommandos
- make install: Abhaengigkeiten via npm ci installieren
- make dev: Entwicklungsserver starten
- make typecheck: TypeScript-Pruefung ausfuehren
- make build: Produktionsbuild erstellen
- make preview: Produktionsbuild lokal ansehen
- make clean: dist/ und tsbuildinfo-Dateien entfernen
- make clean-all: zusaetzlich node_modules entfernen
YAML-Aufbau
Jede Konfiguration hat mindestens:
- title
- questions
- evaluation
Unterstuetzte Fragetypen:
- single: genau eine Option
- multiple: mehrere Optionen
- boolean: true/false mit optionalen Labels
evaluation.mode = score
- Optionen (bei single/multiple) benoetigen weight
- boolean-Fragen benoetigen trueWeight und falseWeight
- Ergebnisbaender ueber evaluation.resultBands (minScore/maxScore)
evaluation.mode = criteria
- Regeln in evaluation.rules
- Bedingungen ueber all, any, not
- fallbackResultId als Rueckfall
- Ergebnisse in results[] mit id/label/description
evaluation.mode = tree
- startNodeId und nodes erforderlich
- Knoten sind entweder Entscheidung (when/thenNodeId/elseNodeId) oder Leaf (resultId)
- Ergebnisse in results[] mit id/label/description
Datenhaltung
Die App speichert lokal im Browser:
- assessment.currentRun
- assessment.history
Es gibt keinen Server-Upload. JSON-Import/Export bleibt lokal auf dem Client.
CI und Deployment
- GitLab Pages: .gitlab-ci.yml baut dist/ und publiziert auf Pages
- Optionaler Base-Pfad per CI/CD Variable PAGES_BASE_PATH
- Forgejo Workflow: .forgejo/workflows/ci.yml (Install, Typecheck, Build; bei Tags zusaetzlich Release-Asset)