feat: write template

This commit is contained in:
u80864958 committed 2026-09-18 16:36:52 +02:00
commit a0a6d2cf84
98 files changed
+6609

No files matched your search

@@ -0,0 +1,47 @@
#import "@preview/wrap-it:0.1.1": wrap-content
#import "@local/chfoit-ipa:0.0.0": term
#import "@preview/fletcher:0.5.1": diagram, edge, node
== Backend
#lorem(200)
// Beispiel:
//
//#wrap-content(
// box(inset: (right: 1em, bottom: -4em), width: 16em, figure(
// image("../../../02_Grafiken/placeholder.png"),
// caption: [Übersicht über die Backend-Verzeichnisstruktur],
// )),
// align: top + left,
// )[
// === Unterteilung
//
// Beschreibung der Verzeichnisstruktur und der Unterteilung des Backends.
// Die Struktur folgt den etablierten Konventionen des verwendeten
// Backend-Frameworks.
// ]
//
// === Konfiguration
//
// Das Backend kann über verschiedene Wege konfiguriert werden, z. B. über
// Umgebungsvariablen oder eine Konfigurationsdatei. Sensible Werte wie
// Zugangsdaten oder Secrets dürfen niemals im Quellcode oder in der
// Dokumentation abgelegt werden.
//
// ==== Umgebungsvariablen
//
// In @fig-env-config sind die verfügbaren Umgebungsvariablen aufgelistet.
//
// #figure(
// table(
// columns: (auto, 1fr, 1fr),
// [Name], [Standard Wert], [Beschreibung],
// [APP_PORT], [8080], [Port, auf dem das Backend läuft],
// [APP_LOG_LEVEL], [info], [DEBUG, INFO, WARN oder ERROR],
// [APP_DB_DSN],
// [host=localhost user=postgres password=password dbname=app port=5432 sslmode=disable],
// [Data Source Name / Connection string für die Datenbank],
// ),
// caption: [Übersicht der Umgebungsvariablen],
// )<fig-env-config>
@@ -0,0 +1,37 @@
#import "@preview/wrap-it:0.1.1": wrap-content
#import "@local/chfoit-ipa:0.0.0": acronym
#import "@preview/fletcher:0.5.1": diagram, edge, node
== Frontend
#lorem(200)
//
// #wrap-content(
// box(width: 20em, inset: (right: 1em, bottom: -4em), figure(
// image("../../../02_Grafiken/placeholder.png"),
// caption: [Übersicht über die Frontend-Verzeichnisstruktur],
// )),
//
// align: top + left,
// )[
// === Unterteilung
//
// Das Frontend ist in wiederverwendbare Komponenten, Seiten (Routen) und
// geteilte Services bzw. Interfaces unterteilt.
//
// ==== Komponenten
// Im Verzeichnis `components` befinden sich wiederverwendbare
// GUI-Komponenten.
//
// ==== Routen
// Im Verzeichnis `routes` sind die Seiten der Applikation. Sie sind in
// derselben hierarchischen Struktur wie die Routen der Applikation
// abgelegt, damit es übersichtlich bleibt.
//
// ==== Shared
// Im Verzeichnis `shared` befinden sich die über die Applikation geteilten
// Interfaces, Services und Interceptors.
// ]
@@ -0,0 +1,40 @@
#import "@local/chfoit-ipa:0.0.0": test
#let testProtocol = test.protocoll
== Tests
// Beispiel:
//
//In diesem Abschnitt werden die Resultate der durchgeführten Tests protokolliert.
//
// === Unittests Backend
//
// #figure(table(
// columns: (auto, auto, auto),
// [Status], [Paket], [Abdeckung],
// [ok], [backend/application], [93.6%],
// [ok], [backend/auth], [84.5%],
// [ok], [backend/user], [100.0%],
// ))
//
// Die totale Testabdeckung beträgt: 69.7%
//
// === Unittests Frontend
//
// #figure(table(
// columns: (auto, 1fr, auto),
// [Status], [Paket], [Abdeckung #footnote[ der Statements]],
// [ok], [src/app], [88.88%],
// [ok], [src/app/shared/services], [46.53%],
// [ok], [src/environments], [100%],
// ))
//
// Die totale Testabdeckung beträgt: 64.37%
//
// === Akzeptanztests
//
// #let test = testProtocol.with(tester: "Max Mustermann", date: datetime(day: 1, month: 3, year: 2026))
//
// #test(case: "TC-1")[
// Beschreibung des Akzeptanztestfalls.
// ]
@@ -0,0 +1,50 @@
= Projektschlussbeurteilung
// == Vergleich Ist/Soll
//
// === Anforderungen
//
// #let ok = table.cell(fill: green.lighten(55%))[Erfüllt]
// #let notOk = table.cell(fill: red.lighten(55%))[Nicht Erfüllt]
// #figure(
// table(
// columns: (6.8em, 1fr, 2.5em, auto),
// [ID],
// [Anforderung],
// [Art #footnote[Art = Anforderungsart: G = Geschäftsorganisation, F = Funktional, Q = Qualität, S = Sicherheit, M = Migration,
// A = Architektur, B = Betrieb, K = Konformität (Gesetzgebung, Weisungswesen, Normen und Richtlinien)]],
// [Erfüllungsstatus],
//
// [@req-a1], [Beschreibung der Anforderung], [F], ok,
// ),
// caption: [Erfüllung der Anforderungen],
// )
//
// === Ziele
//
// In der Initialisierungsphase (@ziele) wurden Ziele definiert.
//
// #let ok = table.cell(fill: green.lighten(55%))[Erreicht]
// #let notOk = table.cell(fill: red.lighten(55%))[Nicht Erreicht]
//
// ==== Produktziele
//
// #figure(
// table(
// columns: (2em, 1fr, auto, 1fr),
// [Nr.], [Ziel], [Erreicht], [Kommentar],
// [1], [Beschreibung des Produktziels.], ok, [],
// ),
// caption: [Erfüllung der Produktziele],
// )
//
// ==== Projektvorgehensziele
//
// #figure(
// table(
// columns: (2em, 1fr, auto, 1fr),
// [Nr.], [Ziel], [Erreicht], [Kommentar],
// [1], [Beschreibung des Projektvorgehensziels.], ok, [],
// ),
// caption: [Erfüllung der Projektvorgehensziele],
// )
@@ -0,0 +1,34 @@
#import "@preview/wrap-it:0.1.1": wrap-content
#import "@local/chfoit-ipa:0.0.0": acronym, term
= Realisierung
In diesem Teil wird auf die Umsetzung eingegangen.
#include "01_backend.typ"
#include "02_frontend.typ"
== Entwicklung
=== Abhängigkeiten
// Beschreibe die tools die zum entwickeln gebraucht werden.
=== Applikation starten
// Beschreibe folgendes:
// - Herunterladen ders repository
// - Starten der Applikation
//
// Am besten mit code bläcken
#figure(
```sh
echo "example"
```,
caption: [Applikation starten],
)
=== Applikation stoppen
#include "03_tests.typ"