Project-Image-Uploader/TODO.md
matthias.lotz abd12923aa feat: add reordering feature plan and task breakdown
- Created comprehensive FEATURE_PLAN-reordering.md with 9 tasks in 3 phases
- Must-Have: Touch-Support for mobile drag-and-drop
- Admin-only: Reordering restricted to ModerationGroupImagesPage
- Public users cannot reorder images (security restriction)
- Technical approach: @dnd-kit/core + PUT /api/groups/:groupId/reorder
- Estimated: 10-12 hours over 2-3 days
2025-11-03 20:44:33 +01:00

102 lines
4.0 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
- [ ] **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
[ ] 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
---