From 9ac62d7962c40a7c91740959a7e1be37432b1f44 Mon Sep 17 00:00:00 2001 From: Jonas <77726472+kobolol@users.noreply.github.com> Date: Fri, 13 Mar 2026 08:46:13 +0100 Subject: [PATCH] Delete AI_DOKU_BRIEFING.md --- AI_DOKU_BRIEFING.md | 227 -------------------------------------------- 1 file changed, 227 deletions(-) delete mode 100644 AI_DOKU_BRIEFING.md diff --git a/AI_DOKU_BRIEFING.md b/AI_DOKU_BRIEFING.md deleted file mode 100644 index 3ccbc04..0000000 --- a/AI_DOKU_BRIEFING.md +++ /dev/null @@ -1,227 +0,0 @@ -# AI-Briefing: Vollständige Projektdokumentation für **4Gewinnt** - -> Zweck dieses Dokuments: Du kannst diese Datei direkt an ein anderes KI-System geben, damit daraus alle geforderten Artefakte erstellt werden: -> -> - **Pflichtenheft** -> - **Meilensteinplanung** -> - **Klassendiagramm** -> - **Ablaufplan / Flowchart** -> - **Benutzerdokumentation / Anleitung** - ---- - -## 1) Kurzbeschreibung des Projekts - -**4Gewinnt** ist ein Multiplayer-Spielprojekt mit zwei Hauptteilen: - -1. **Backend (API)**: ASP.NET Core Web API mit SignalR für Echtzeitkommunikation. -2. **Frontend (GUI)**: Vue 3 + TypeScript + Vite für die Benutzeroberfläche. - -Das System ermöglicht die Erstellung und den Beitritt zu Spielrunden über einen **6-stelligen Spielcode**. Züge werden in Echtzeit verarbeitet und an alle Spieler verteilt. - ---- - -## 2) Technologiestack - -### Backend -- .NET 9 -- ASP.NET Core Web API -- SignalR -- Swashbuckle/OpenAPI (Swagger in Development) - -### Frontend -- Vue 3 -- TypeScript -- Vite -- SignalR JavaScript Client -- Vuetify - ---- - -## 3) Verzeichnisstruktur (relevant für Doku und Diagramme) - -```text -4Gewinnt/ -├── API/ -│ ├── Controllers/ -│ │ ├── GameHubSocket.cs -│ │ └── StatusController.cs -│ ├── Models/ -│ │ ├── DataClasses/ -│ │ └── Game/ -│ ├── Repository/GameRepo/ -│ │ ├── IGameRepository.cs -│ │ └── GameRepository.cs -│ ├── Services/GameManager/ -│ │ ├── IGameManager.cs -│ │ └── GameManager.cs -│ └── Program.cs -├── GUI/ -│ ├── src/components/ -│ ├── src/routes/ -│ ├── src/scripts/logic/ -│ ├── src/scripts/signalR/ -│ └── src/scripts/interfaces/ -└── 4Gewinnt.sln -``` - ---- - -## 4) Systemverhalten (fachlich) - -### Kern-Use-Cases -1. Spieler erstellt ein Spiel mit Name + Spielfeldgröße. -2. Backend erzeugt neue Spielinstanz + 6-stelligen Spielcode. -3. Zweiter Spieler tritt mit Spielcode bei. -4. Bei zwei Spielern startet das Spiel automatisch. -5. Spieler setzen abwechselnd Steine in Spalten. -6. Backend prüft Gewinnbedingung oder Unentschieden. -7. Bei Spielende wird Ergebnis an beide Clients gesendet. -8. Bei Disconnect eines Spielers wird das Spiel beendet. - -### Spielzustände -- `Lobby` -- `Running` -- `Ended` - ---- - -## 5) Backend-Architektur (für Klassendiagramm & Ablaufdiagramm) - -### Schichten -- **Controller/Hub-Schicht**: Eingangspunkte via REST (`StatusController`) und SignalR (`GameHubSocket`). -- **Service-Schicht**: `GameManager` orchestriert Spielablauf und Regeln. -- **Repository-Schicht**: `GameRepository` hält Spiele im Speicher. -- **Domänenmodell**: `Game`, `GameField`, `Player`, DTOs, Value Objects. - -### Wichtige Domänenobjekte -- `Game`: Id, GameCode, Players, CurrentTurn, State, Field -- `GameField`: Spielfeldmatrix, Drop-Operation, Gewinnprüfung -- `Player`: Name, ConnectionId, PlayerTag -- `GameInformationDto`: serialisierte Spielinformationen für Clients -- `SixDigitInt`: Repräsentation/Validierung eines 6-stelligen Codes - -### SignalR-Hub Methoden -- `CreateGame(playerName, gFs)` -- `JoinGame(playerName, gameCode)` -- `RequestGameInformation(gameId)` -- `Drop(gameId, column)` -- `OnDisconnectedAsync(exception)` - -### Wichtige SignalR-Events an Clients -- Fehler: `Error` -- Erfolg: `GameCreated`, `GameJoined`, `GameStarted` -- Spielupdates: `GameInformation`, `FieldUpdated` -- Spielende: `GameEnded` -- Aufräumen: `GameDestroyed` - ---- - -## 6) Frontend-Architektur (für Benutzerdoku) - -### Seiten / Routen -- Startseite (`Home.vue`) -- Online-Modus (`OnlineMode.vue`) -- Lokaler Modus (`LocalMode.vue`) - -### Relevante Komponenten -- `CreateOrJoinMenu.vue` -- `GameCreationMenu.vue` -- `GameJoinMenu.vue` -- `Field.vue` (Spielbrett) -- `InfoField.vue` (Statusanzeige) -- `GameEndedMenu.vue` - -### Logikmodule -- Online-Logik: `OnlineGame.ts` -- Lokal-Logik: `LocalGame.ts` -- SignalR-Verbindung: `GameConnection.ts` - ---- - -## 7) Build-, Run- und Übergabeanleitung (technisch) - -## Voraussetzungen -- .NET SDK 9 -- Node.js 20+ (oder >=22.12) -- npm - -### Lokale Entwicklung - -#### Backend starten -```bash -cd API -dotnet run -``` - -#### Frontend starten -```bash -cd GUI -npm install -npm run dev -``` - -### Produktionsnahe Builds - -#### Frontend Build -```bash -cd GUI -npm install -npm run build -``` - -#### Backend Build -```bash -cd API -dotnet build -``` - -### Optional: Gesamtlösung bauen -```bash -dotnet build 4Gewinnt.sln -``` - ---- - -## 8) Konkrete Arbeitsaufträge an die AI (Copy/Paste-Prompts) - -Nutze die folgenden Prompts 1:1 oder angepasst. - -### A) Prompt: Pflichtenheft - -> Erstelle ein vollständiges Pflichtenheft auf Deutsch für das Softwareprojekt „4Gewinnt“ (Web-App mit ASP.NET Core + SignalR + Vue 3). Struktur: Zielbestimmung, Produkteinsatz, funktionale Anforderungen (mit Muss/Soll/Kann), nicht-funktionale Anforderungen, Systemgrenzen, Datenmodell, Akzeptanzkriterien, Risiken, Annahmen, Glossar. Berücksichtige Multiplayer über Spielcode, Echtzeit-Züge, Spielzustände Lobby/Running/Ended, Fehlerfälle (ungültiger Zug, volles Spiel, Disconnect), sowie Bedienbarkeit für Endnutzer. - -### B) Prompt: Meilensteinplanung - -> Erstelle eine realistische Meilensteinplanung (Deutsch) für ein studentisches/prototypisches 4Gewinnt-Projekt mit Backend, Frontend und Dokumentation. Liefere: Zeitachse (Wochen), Milestones, Deliverables pro Meilenstein, Abhängigkeiten, Risiken, Puffer, Definition of Done pro Meilenstein und eine Tabelle für Projekttracking. - -### C) Prompt: Klassendiagramm - -> Erstelle ein UML-Klassendiagramm in PlantUML für die Kernklassen des Projekts „4Gewinnt“ basierend auf folgender Architektur: GameHubSocket (SignalR Hub), GameManager (Service), IGameRepository/GameRepository, Game, GameField, Player, GameInformationDto, SixDigitInt. Zeige Attribute, zentrale Methoden und Relationen (Assoziation, Abhängigkeit, Interface-Implementierung). Ergänze kurze Erläuterungen. - -### D) Prompt: Ablaufplan / Flowchart - -> Erstelle ein detailliertes Flowchart (Mermaid) für den Online-Spielablauf von „4Gewinnt“: Spiel erstellen → Spiel beitreten → Spielstart → Zug senden → Validierung → Feldupdate → Gewinn-/Unentschiedenprüfung → Spielende → optionales Rematch/Neues Spiel. Berücksichtige Fehlerpfade (Spiel nicht gefunden, Spiel voll, ungültiger Zug, Spieler disconnected). - -### E) Prompt: Benutzerdokumentation - -> Erstelle eine benutzerfreundliche Anleitung auf Deutsch für Endanwender von „4Gewinnt“ (Weboberfläche): Spiel erstellen, Spiel beitreten, Spielfeld bedienen, Bedeutung von Farben/Symbolen, Fehlermeldungen, Spielende, Neustart. Füge zusätzlich einen Troubleshooting-Abschnitt und FAQ hinzu. - ---- - -## 9) Qualitätskriterien für die von AI erzeugten Dokumente - -Die Ergebnisse sollten: - -- vollständig strukturiert und in sauberem Fachdeutsch sein, -- klare Überschriftenebenen besitzen, -- Tabellen dort nutzen, wo Vergleich/Planung sinnvoll ist, -- konkrete, überprüfbare Kriterien enthalten (insb. Akzeptanzkriterien), -- direkt für Abgabe/Projektmappe weiterverwendbar sein. - ---- - -## 10) Optional: Zusatzauftrag für AI - -> Erzeuge aus allen Ergebnissen ein einheitliches Doku-Paket mit konsistenten Begriffen (z. B. Spiel, Runde, Match, Lobby), einheitlichem Glossar und identischen Rollenbezeichnungen. -