# Feedback-Modul – Testaufbau

Erste, funktionsfähige Version zum Ausprobieren. Noch bewusst ohne
Anbindung an eine Auftrags-/Kundenverwaltung – das kommt später.

## 1. Voraussetzungen

1. PHP 8.1 oder neuer mit PDO-MySQL-Erweiterung
2. MariaDB/MySQL-Datenbank
3. Ein lokaler PHP-Server reicht zum Testen völlig aus

## 2. Einrichtung

1. Datenbank anlegen, z. B. `testprojekt_feedback`
2. Inhalt von `schema.sql` in dieser Datenbank ausführen
3. `config.beispiel.php` nach `config.php` kopieren
4. In `config.php` echte Zugangsdaten eintragen (Host, DB-Name, Nutzer, Passwort)
5. Prüfen, dass der Ordner `storage/screenshots/` für den Webserver
   beschreibbar ist (`chmod 755` bzw. passender Besitzer)

## 3. Testen

1. Im Projektordner einen lokalen PHP-Server starten:
   ```
   php -S localhost:8000
   ```
2. Im Browser öffnen: `http://localhost:8000/demo-testseite.php`
3. Unten rechts auf "💬 Anmerkung" klicken
4. Testkommentar eingeben, Screenshot-Haken lassen wie er ist, absenden
5. Backend-Übersicht öffnen: `http://localhost:8000/backend/feedback-liste.php?projekt=testprojekt`
6. Prüfen: Kommentar erscheint, Screenshot-Vorschau ist sichtbar,
   Status lässt sich über das Dropdown ändern

## 4. Was hier bewusst noch fehlt (nächste Schritte)

1. **Zugriffsschutz für `backend/feedback-liste.php`** – aktuell für
   jeden erreichbar, der die URL kennt. Vor jedem Einsatz außerhalb
   der lokalen Testumgebung eine Anmeldeprüfung einbauen
   (Markierung `TODO: AUTH` im Code).
2. **Anbindung an die geplante Auftragsverwaltung** – `projekt_slug`
   ist aktuell ein frei getippter Wert, später ein Fremdschlüssel auf
   die Auftragstabelle.
3. **Token-basierte Freigabe der Kundenseiten selbst** – das
   Feedback-Widget setzt voraus, dass der Kunde die Seite bereits
   sehen darf. Die eigentliche Zugriffssteuerung auf die Testseite
   ist ein separates Modul (siehe vorheriges Gespräch).
4. **E-Mail-Benachrichtigung bei neuem Feedback** – wäre ein sinnvoller
   nächster Komfort-Schritt, damit du nicht manuell nachschauen musst.

## 5. Datei-Übersicht

```
feedback-modul/
├── schema.sql                     Datenbankstruktur
├── config.beispiel.php            Vorlage für Zugangsdaten (config.php nicht ins Git!)
├── feedback-widget.php            Einbinde-Datei für Kundenseiten
├── demo-testseite.php             Beispielseite zum Ausprobieren
├── api/
│   └── feedback-speichern.php     Nimmt neue Meldungen entgegen
├── backend/
│   └── feedback-liste.php         Verwaltungsansicht für dich
└── storage/
    └── screenshots/               Abgelegte Screenshot-Dateien
```
