Files
planer2/daten/PLANER2GEN/features.md
2026-07-29 15:19:41 +02:00

261 lines
7.7 KiB
Markdown

<!-- titel -->
Features
----------------------------------------
<!-- art -->
kern
----------------------------------------
<!-- ziel -->
Verwaltet Features und Projekte einer Software, einschließlich Bearbeitung, Suche und Überprüfung
----------------------------------------
<!-- regeln -->
- Seitenleiste zeigt alle Projekte
- Features stehen in Spalten unter dem aktiven Projekt
- MMB oder Augen-Icon wechselt Kompakt- und Vollmodus
- Fehlerhafte Karte öffnet sich im Vollmodus
- Suchergebnis blendet nicht passende Karten aus
- Vorgeschlagene Karte als Umriss dargestellt
- Feature verschieben nur bei mehreren Projekten
- Kontextmenü der Karte nur im Vollmodus
- Problemanzahl als Badge auf der Karte
- Sammelaktion ab drei vorgeschlagenen Karten
- Stand wechselt zwischen offen und gebaut
- Funktionen sind über Kontextmenü nach oben und unten verschiebbar
- Einzelne Felder lassen sich zu einer Funktion hinzufügen
- Verschieben unbekannter Features wirft 404
----------------------------------------
<!-- funktion -->
Badge umschalten
<!-- ziel -->
Markiert ein Feature als kern oder optional
<!-- regeln -->
- Toggelt zwischen kern und optional
- Nur im Vollmodus verfügbar
<!-- testen -->
- Vollmodus öffnen
- LMB auf Badge
- Badge zeigt optional statt kern
----------------------------------------
<!-- funktion -->
Feature anlegen
<!-- ziel -->
Legt ein neues Feature im aktuellen Projekt an
<!-- regeln -->
- Titel ist Pflichtfeld
- Erstellt leere Feature-Datei mit Titel
- Neue Karte öffnet im Vollmodus
- Alphabetisch einsortiert
<!-- testen -->
- RMB auf den Bereich
- Klick auf "+ Feature erstellen"
- Titel eingeben und bestätigen
- Karte im Vollmodus sichtbar
----------------------------------------
<!-- funktion -->
Feature bearbeiten
<!-- ziel -->
Ändert Titel, Ziel, Regeln, Funktion oder Testschritte direkt in der Karte
<!-- regeln -->
- Titel-Klick öffnet ein Eingabefeld
- Nur im Vollmodus verfügbar
- Escape verwirft die Änderung
- Enter oder Klick außerhalb speichert
- Leerer Titel wird verworfen
<!-- testen -->
- Karte im Vollmodus öffnen
- Klick auf Titel
- Titel-Feld ist fokussiert und markiert
- Text ändern und Enter drücken
- Titel aktualisiert
----------------------------------------
<!-- funktion -->
Feature löschen
<!-- ziel -->
Entfernt ein Feature dauerhaft aus dem Projekt
<!-- regeln -->
- Wird über das Kontextmenü der Karte aufgerufen
- Erfragt eine Bestätigung vor dem Entfernen
- Löst das Entfernen über ein Event aus
<!-- testen -->
- RMB auf die Feature-Karte
- Klick auf "Feature entfernen"
- Bestätigung im Dialog
- Feature entfernt
----------------------------------------
<!-- funktion -->
Feature sichern
<!-- ziel -->
Speichert Änderungen an einer Feature-Karte dauerhaft
<!-- regeln -->
- Akzeptiert rohen Kartentext als Text
- Gibt 404 bei unbekanntem Projekt
- Gibt 400 bei ungültigem Kartentext
<!-- testen -->
- PUT api.projekte.name.features.id mit body {"roh": "Neuer Text"}
- Antwort 200 mit aktualisierter Karte
- Karte enthält neuen Text
----------------------------------------
<!-- funktion -->
Feature verschieben
<!-- ziel -->
Verschiebt ein Feature in ein anderes Projekt
<!-- regeln -->
- Nur möglich wenn mehrere Projekte existieren
- Zielprojekt muss existieren
- Feature bleibt unter neuer Projektzugehörigkeit erhalten
<!-- testen -->
- RMB auf Karte
- Klick auf "→ Feature verschieben"
- Zielprojekt auswählen
- Feature im Zielprojekt
----------------------------------------
<!-- funktion -->
Projekt auswählen
<!-- ziel -->
Zeigt die Features eines anderen Projekts an
<!-- regeln -->
- Aktives Projekt ist hervorgehoben
- Klick auf aktives Projekt bleibt aktiv
<!-- testen -->
- Klick auf Projekt in der Liste
- Projekt ist hervorgehoben
- Vorher aktives Projekt ist nicht mehr hervorgehoben
----------------------------------------
<!-- funktion -->
Projekt entfernen
<!-- ziel -->
Löscht ein nicht mehr benötigtes Projekt mitsamt aller seiner Features
<!-- regeln -->
- Fragt zur Bestätigung nach dem Projektnamen
- Löscht das Projekt und alle zugehörigen Features
- x-Icon bricht ab
- Entfernen-Button bestätigt die Löschung
<!-- testen -->
- RMB auf Projekt in der Seitenleiste
- Klick auf ✕ Projekt entfernen
- Klick auf Entfernen
- Projekt nicht mehr in der Liste
----------------------------------------
<!-- funktion -->
Projekt erstellen
<!-- ziel -->
Ermöglicht das Anlegen eines neuen Projekts über die Seitenleiste
<!-- regeln -->
- Projektname ist erforderlich
- Leerzeichen am Rand werden entfernt
- Projektname darf nicht existieren
- Erstelltes Projekt wird automatisch ausgewählt
<!-- testen -->
- Seitenleiste mit RMB öffnen
- Klick auf "+ Projekt"
- Projektname eingeben
- Klick auf "Erstellen"
- Modal geschlossen, Projekt ausgewählt
----------------------------------------
<!-- funktion -->
Projekt löschen
<!-- regeln -->
- 404 bei unbekanntem Projekt
- 400 bei ungültigem Wert
- Erfolg gibt {"ok": true} zurück
<!-- testen -->
- api-projekte name per GET aufrufen
- Antwort pruefen: 404
----------------------------------------
<!-- funktion -->
Projekt umbenennen
<!-- ziel -->
Ermöglicht das Umbenennen bestehender Projekte direkt in der Seitenleiste
<!-- regeln -->
- Umbenennung über Kontextmenü
- Umbenennung über Enter-Taste
- Escape bricht die Umbenennung ab
- Leere Eingabe verwirft die Änderung
- Gleicher Name wie zuvor verwirft die Änderung
- Projekt mit gleichem Namen erzeugt Fehler
<!-- testen -->
- RMB auf Projekt in der Seitenleiste
- Klick auf "Projekt anpassen"
- Neuen Namen eingeben
- Enter-Taste drücken
- Projektname in der Liste aktualisiert
----------------------------------------
<!-- funktion -->
Projekte anzeigen
<!-- testen -->
- Projekte-Endpunkt aufrufen
- Rückgabe prüfen
- Liste aller Projekte zurück
----------------------------------------
<!-- funktion -->
Projektfeatures anzeigen
<!-- ziel -->
Zeigt alle Features eines Projekts im Rohformat
<!-- regeln -->
- Rohformat enthält Karte und Funktionen
- Fehlendes Projekt wirft 404
<!-- testen -->
- GET api projekte MeinProjekt features
- Antwort enthält Liste der Features
- 404 bei unbekanntem Projekt
----------------------------------------
<!-- funktion -->
Projektmenü öffnen
<!-- ziel -->
Bietet Zugriff auf Anpassung, Quelle und Löschung einzelner Projekte
<!-- regeln -->
- RMB auf Projektname
- Drei Optionen verfügbar
<!-- testen -->
- RMB auf Projekt in Seitenleiste
- Menü erscheint mit drei Einträgen
- ✎ Projekt anpassen startet Umbenennung
- ◇ Quelle festlegen öffnet Modal zur Pfadwahl
- ✕ Projekt entfernen öffnet Bestätigungsdialog
----------------------------------------
<!-- funktion -->
Quelldaten laden
<!-- ziel -->
Legt fest, woher ein Projekt seine Daten bezieht
<!-- regeln -->
- GET gibt den aktuellen Pfad zurück
- PUT setzt einen neuen Pfad
- Leerer Pfad löscht die Zuordnung
<!-- testen -->
- PUT quelle mit projektname und pfad data input
- GET quelle mit projektname
- Rueckgabe enthaelt projektname und pfad data input
----------------------------------------
<!-- funktion -->
Vision entfernen
<!-- ziel -->
Ermöglicht das Löschen einer fehlerhaften oder überflüssigen Vision
<!-- regeln -->
- x-Icon
- RMB auf Karte öffnet Menü
- Klick außerhalb schließt Menü
<!-- testen -->
- RMB auf Vision-Karte
- Klick auf "Vision entfernen"
- Vision-Karte entfernt
----------------------------------------
<!-- funktion -->
Vision erstellen
<!-- ziel -->
Erstellt eine einzelne Vision-Karte für das Projekt
<!-- regeln -->
- Nur eine Vision je Projekt
- Vision steht über den Features
- Karte vom Typ vision
<!-- testen -->
- RMB auf den Bereich
- Klick auf + Vision erstellen
- Vision-Karte sichtbar
----------------------------------------
<!-- funktion -->
Doppeltes Projekt verhindern
<!-- testen -->
- Projekt mit Namen erstellen
- Projekt mit gleichem Namen erstellen
- Meldung erscheint
- Projekt nicht erstellt