# Padlet – selbst gehostete Online-Pinnwand

Dieses Skript stellt eine einfache, selbst gehostete Online-Pinnwand („Padlet“) für Gemeinden, Hauskreise und andere Gruppen bereit.  
Es kommt ohne externe Dienste wie padlet.com aus und läuft komplett auf dem eigenen Webserver.

---

## 1. Funktionsumfang

- Eingabe von **Name** (oder Alias) und **Mitteilung**
- Anzeige der Einträge
  - als **Notiz-Kacheln** (Kartenansicht)
  - oder als **Tabelle**
- **Farblegende pro Person** mit Initial-Badge und Pastellfarbe
- Sortierung (neueste/älteste, Name A–Z)
- Suchfeld (Filter nach Name oder Text)
- Reaktionen pro Eintrag: 👍, 🙏, ❤️
- „Pin“-Funktion: wichtige Einträge nach oben setzen
- **CSV-Export** der Einträge
- **Auto-Aktualisierung** (regelmäßiges Nachladen, damit mehrere geöffnete Browser sich synchronisieren)
- **Admin-PIN** für Löschfunktionen:
  - einzelnen Eintrag löschen
  - alle Einträge löschen

---

## 2. Dateien

Das Skript besteht aus zwei Dateien:

1. `index.html`  
   - enthält HTML, CSS und JavaScript für die Oberfläche
   - kommuniziert per `fetch()` mit `messages.php`
   - speichert keine Daten dauerhaft im Browser, sondern nur auf dem Server

2. `messages.php`  
   - nimmt die JSON-Daten entgegen und speichert sie in eine Datei (z. B. `messages.json`)
   - liefert beim Aufruf per GET alle Einträge als JSON zurück

Die genaue Implementierung von `messages.php` hängt von der lokalen Umgebung ab (Pfad, Dateiname, Schreibrechte).

---

## 3. Systemvoraussetzungen

- Webserver mit **PHP** (Version 7.x oder höher empfohlen)
- Schreibrechte auf eine Datei (z. B. `messages.json`) im Skriptverzeichnis
- HTTPS wird dringend empfohlen (damit die Eingaben verschlüsselt übertragen werden)

---

## 4. Installation

1. Dateien hochladen  
   - `index.html` und `messages.php` in ein Verzeichnis auf dem Webserver kopieren  
     (z. B. `/padlet/`)

2. Schreibrechte setzen  
   - `messages.php` so konfigurieren, dass es eine JSON-Datei anlegen/beschreiben kann  
     (z. B. `messages.json` im gleichen Verzeichnis)
   - Dateirechte so setzen, dass der Webserver schreiben darf

3. Seite aufrufen  
   - Im Browser: `https://ihre-domain.de/padlet/`  
   - Wenn alles korrekt eingerichtet ist, erscheint das leere Padlet („Noch keine Mitteilungen vorhanden.“).

---

## 5. Konfiguration im Skript

### 5.1 Admin-PIN

Im `<script>`-Teil der `index.html` steht u. a.:

```js
const ADMIN_PIN = '1234';
