- Add imageUtils.js helper with getImageSrc() and getGroupPreviewSrc() - Update ImageGalleryCard to use preview images for galleries - Update ModerationGroupsPage to show preview images in modal - Update ModerationGroupImagesPage to use preview images - Update PublicGroupImagesPage to pass all image fields - SlideshowPage continues using original images (full quality) - Update nginx.dev.conf with /api/previews and /api/download routes - Update start-dev.sh to generate correct nginx config - Fix GroupRepository.getAllGroupsWithModerationInfo() to return full image data - Remove obsolete version from docker-compose.override.yml - Update TODO.md: mark frontend cleanup as completed Performance: Gallery load times reduced by ~96% (100KB vs 3MB per image)
3.6 KiB
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
- Backend: Node.js auf Node 24 aktualisiert (Express läuft stabil)
- Frontend: React 18.3.1, React Router v6, MUI v5 aktualisiert
- react-scripts 5.0.1
- 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
- Code Cleanup & Refactoring
- Überprüfung der Komponentenstruktur
- Entfernen ungenutzter Dateien
- Vereinheitlichung der ImageGallery Komponente:
ImagePreviewGalleryund 'GroupCard' zusammenführen- Die neue Komponente soll ImageGallery heißen. Sie besteht aus einem Grid aus "GroupCard" die
GroupCardsoll zukünfigImageGalleryCardheißen. - Die neue Komponente
ImageGallerysoll so aussehen wir die GroupCard im Grid -> siehe Pages/ModerationGroupPage.js und Pages/GroupOverviewPage.js und auch die gleichen Funktionalitäten besitzen.
- Die neue Komponente soll ImageGallery heißen. Sie besteht aus einem Grid aus "GroupCard" die
- Klärung SimpleMultiDropzone vs. MultiImageUploadDropzone (MultiImageUploadDropzone wurde gelösch, SimpleMultiDropzone umbenannt in MultiImageDropzone)
- alte group-card css styles aus ImageGallery.css entfernen
- Persistentes Reordering: Drag-and-drop in
ImagePreviewGallery+ Backend-Endpunkt
Zusätzliche Funktionen
Backend
[x] Erweiterung der API um die Funktion bestehende Daten zu editieren/aktualisieren [ ] Preview Generierung für hochgeladene Bilder [ ] 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
🚀 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