Project-Image-Uploader/TODO.md
matthias.lotz 292d25f5b4 feat: Implement image descriptions - Backend & Core Frontend
- Database: Add image_description column to images table
- Repository: Add updateImageDescription & updateBatchImageDescriptions methods
- API: Add PATCH endpoints for single and batch description updates
- Upload: Support descriptions in batch upload
- Frontend: ImageGalleryCard with Edit mode and textarea
- Frontend: MultiUploadPage with description input
- Frontend: ModerationGroupImagesPage with description editing
- CSS: Styles for edit mode, textarea, and character counter

Phase 1-4 complete: Backend + Core Frontend + Upload + Moderation
2025-11-07 18:34:16 +01:00

4.1 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 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 [ ] 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 [ ] 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