Project-Image-Uploader/TODO.md
2025-11-01 14:00:53 +01:00

3.7 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:
      • ImagePreviewGallery und 'GroupCard' zusammenführen
        • Die neue Komponente soll ImageGallery heißen. Sie besteht aus einem Grid aus "GroupCard" die GroupCard soll zukünfig ImageGalleryCardheißen.
        • 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.
      • 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 [x] Preview Generierung für hochgeladene Bilder [x] Automatisches Löschen von Groupen, welche nach einer bestimmten Zeit (z.B. 5 Tage) nicht freigegeben wurden [ ] 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