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

116 lines
4.7 KiB
Markdown

# 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
---