Project-Image-Uploader/TODO.md
matthias.lotz 4ee1b76d77 docs: Finalize automatic cleanup feature documentation
- Update README.md with comprehensive feature description
  - Add automatic cleanup and deletion log to features list
  - Document countdown display and 7-day retention policy
  - Add Testing section with test-cleanup.sh instructions
  - Update API endpoints with new admin routes

- Update CHANGELOG.md with complete feature overview
  - Backend: Services, Repositories, Scheduler, API endpoints
  - Frontend: DeletionLogSection, countdown, SweetAlert2 feedback
  - Infrastructure: nginx config updates
  - Testing: Comprehensive test tools and documentation

- Update TODO.md marking feature as completed

- Update FEATURE_PLAN with final status
  - All 11 tasks completed (100%)
  - Bug fixes documented
  - Deployment checklist updated
  - Final timeline and statistics

- Organize test files into tests/ directory
  - Move TESTING-CLEANUP.md to tests/
  - Move test-cleanup.sh to tests/

Feature is now complete and ready for merge.
2025-11-08 14:45:13 +01:00

4.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 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