# TODO / Offene Punkte

Diese Datei listet die noch offenen Arbeiten, die ich im Projekt verfolge. Ich pflege sie, sobald ich Aufgaben erledige.

## Anstehende Aufgaben

## Skript für Datenverschieben im Backend Container
- [ ] ~~Skript erstellen, das vorhandene Daten aus dem Volume in den neuen data Ordner im Backend Container verschiebt.~~
- [ ] ~~Sicherstellen, dass das Skript nur einmal ausgeführt wird, z.B. durch eine Umgebungsvariable oder eine Flag-Datei.~~
- [ ] ~~Dokumentation im README aktualisieren, um das Skript und seine Verwendung zu erklären.~~

Alte struktur: Alle Datein in src/data
Neue Struktur: Datenbank in src/data/db und bilder in src/data/images

### Update Frameworks im Frontend und Backend ✅ ABGESCHLOSSEN
- [x] Backend: Node.js auf Node 24 aktualisiert (Express läuft stabil)
- [x] Frontend: React 18.3.1, React Router v6, MUI v5 aktualisiert
  - [x] react-scripts 5.0.1
  - [x] Node 18 (Dev) / Node 24 (Backend Prod)
  
**Details siehe:** `CHANGELOG.md` und `docs/UPGRADE_PLAN-upgrade-deps-react-node-20251028.md`  
**Branch:** `upgrade/deps-react-node-20251028`

### Frontend

- [x] Code Cleanup & Refactoring
  - [x] Überprüfung der Komponentenstruktur
  - [x] Entfernen ungenutzter Dateien
  - [x] Vereinheitlichung der ImageGallery Komponente:
    - [x] `ImagePreviewGallery` und 'GroupCard' zusammenführen
      - [x] Die neue Komponente soll ImageGallery heißen. Sie besteht aus einem Grid aus "GroupCard" die `GroupCard` soll zukünfig `ImageGalleryCard`heißen.
      - [x] Die neue Komponente `ImageGallery` soll so aussehen wir die GroupCard im Grid -> siehe Pages/ModerationGroupPage.js und Pages/GroupOverviewPage.js und auch die gleichen Funktionalitäten besitzen. 
    - [x] Klärung SimpleMultiDropzone vs. MultiImageUploadDropzone (MultiImageUploadDropzone wurde gelösch, SimpleMultiDropzone umbenannt in MultiImageDropzone)
  - [x] alte group-card css styles aus ImageGallery.css entfernen
- [x] **Persistentes Reordering: Drag-and-drop in `ImageGallery` + Backend-Endpunkt** 🚧 
  - **Status**: In Planung 
  - **Feature Plan**: `docs/FEATURE_PLAN-reordering.md`
  - **Aufgaben**: 9 Tasks (Backend API + Frontend DnD + Integration)
  - **Geschätzte Zeit**: 2-3 Tage
  - **Library**: @dnd-kit/core für moderne DnD-Funktionalität
---

# Zusätzliche Funktionen
## Backend
[x] Erweiterung der API um die Funktion bestehende Daten zu editieren/aktualisieren
[x] Preview Generierung für hochgeladene Bilder
[x] **Automatisches Löschen nicht freigegebener Gruppen** ✅ ABGESCHLOSSEN
  - **Status**: Fertiggestellt und getestet
  - **Feature Plan**: `docs/FEATURE_PLAN-delete-unproved-groups.md`
  - **Branch**: `feature/DeleteUnprovedGroups`
  - **Details**: 
    - Automatische Löschung nach 7 Tagen
    - Countdown-Anzeige in Moderationsansicht
    - Vollständiges Deletion-Log mit Statistiken
    - Täglicher Cron-Job (10:00 Uhr)
    - Test-Tools: `tests/test-cleanup.sh` und `tests/TESTING-CLEANUP.md`
  - **Aufgaben**: 11 Tasks (DB Migration + Backend Cleanup Service + Cron-Job + Frontend UI)
  - **Geschätzte Zeit**: 2-3 Tage
  - **Löschfrist**: 7 Tage nach Upload (nur nicht freigegebene Gruppen)
  - **Cron-Job**: Täglich 10:00 Uhr
[ ] Integration eines Benachrichtigungssystems (E-Mail, Push-Benachrichtigungen) wenn eine neue Slideshow hochgeladen wurde
[ ] Implementierung eines Logging-Systems zur Nachverfolgung von Änderungen und Aktivitäten

# Frontend
[x] Erweiterung der Benutzeroberfläche um eine Editierfunktion für bestehende Einträge in ModerationPage.js
    [x] In der angezeigten Gruppen soll statt Bilder ansehen Gruppe editieren stehen
    [x] Diese bestehende Ansicht (Bilder ansehen) soll als eigene Seite implementiert werden
    [x] Ergänzung der Möglichkeit eine Beschreibung zu den Bildern hinzuzufügen
[ ] Erweiterung der ModerationPage um reine Datenbankeditor der sqlite Datenbank.


## 🚀 Deployment-Überlegungen

### Speicher-Management
- **Komprimierung**: Automatische Bildkomprimierung für große Dateien

### Sicherheit
- **File-Type Validation**: Nur erlaubte Bildformate
- **Virus-Scanning**: Optional für Produktionsumgebung

---

## 📈 Erweiterungs-Möglichkeiten (Zukunft)

### Erweiterte Features
- **Benutzer-Accounts**: Upload-Gruppen Benutzern zuordnen
- **Export**: Slideshow als Video oder PDF exportieren


### Admin-Features
- **Bulk-Operations**: Mehrere Gruppen gleichzeitig verwalten (zum Beispiel löschen)

---

## 🎯 Erfolgskriterien

### Must-Have
- ✅ Mobile-Kompatibilität

### Nice-to-Have
- 🎨 Drag & Drop Reihenfolge ändern
- 📊 Upload-Progress mit Details
- 🖼️ Thumbnail-Navigation in Slideshow
- 🔄 Batch-Operations (alle entfernen, etc.)

### Future Features
- 👤 User-Management
- 🏷️ Tagging-System
- 📤 Export-Funktionen
- 🎵 Audio-Integration

---



