# Kita Fotoalbum

PHP 8.4 + MySQL + Bootstrap 5

## Voraussetzungen

- PHP 8.4+ (mit GD-Extension)
- MySQL 5.7+ / MariaDB 10.3+
- Apache mit mod_rewrite
- Shared Hosting oder VPS

## Installation

### 1. Dateien hochladen
Alle Dateien auf den Server hochladen.
**Document Root** muss auf den `/public/` Ordner zeigen.

### 2. Datenbank anlegen
Im Hosting-Panel eine MySQL-Datenbank erstellen.

### 3. .env anlegen
```
cp .env.example .env
```
Dann `.env` mit deinen Daten ausfüllen:
- DB_HOST, DB_NAME, DB_USER, DB_PASS
- APP_KEY: zufälliger String mit mind. 32 Zeichen
- GUEST_PASSWORD: das geteilte Kita-Passwort für Eltern

### 4. Migration ausführen
```bash
mysql -u BENUTZER -p DATENBANKNAME < migrations/001_initial.sql
```
Oder im phpMyAdmin die Datei `migrations/001_initial.sql` importieren.

### 5. Admin-Seed ausführen
```bash
php seeds/admin.php
```
Oder per SSH auf dem Server ausführen.

### 6. Ordner-Rechte prüfen
```bash
chmod 750 storage/uploads storage/logs
```

### 7. Fertig!
- Login: `/login` → admin@kita.local / admin1234
- **Passwort sofort nach dem ersten Login ändern!**

## Sicherheits-Checkliste

- [ ] `APP_KEY` auf langen zufälligen String setzen
- [ ] `GUEST_PASSWORD` auf sicheres Passwort setzen
- [ ] `APP_DEBUG=false` in Produktion
- [ ] `.env` niemals öffentlich zugänglich
- [ ] `storage/` nicht über Web erreichbar (via .htaccess gesichert)
- [ ] Admin-Passwort nach erstem Login ändern
- [ ] Document Root auf `/public/` gesetzt

## Struktur

```
public/          ← Document Root (einziger öffentlicher Ordner)
src/             ← PHP-Quellcode
storage/uploads/ ← Hochgeladene Fotos (nicht öffentlich)
migrations/      ← SQL-Migrationsdateien
seeds/           ← Seed-Skripte
.env             ← Konfiguration (nicht committen!)
```

## Rollen

| Rolle        | Rechte                                      |
|---|---|
| parent       | Eigene Kinder + eigene Fotos verwalten      |
| admin        | Alle Kinder, Galerie, Diashow, Fotos löschen|
| super_admin  | Alles + Benutzerverwaltung + Audit-Log      |
