Filtern geht schneller
Dieser Commit ist enthalten in:
90
JOURNAL.md
90
JOURNAL.md
@@ -137,10 +137,13 @@ Lizenzmanagement-System für Social Media Account-Erstellungssoftware mit Docker
|
||||
---
|
||||
|
||||
## Nächste Schritte
|
||||
1. UTF-8 Support implementieren
|
||||
2. Reverse Proxy mit SSL einrichten
|
||||
3. Admin Panel Funktionalität erweitern
|
||||
4. License Server API entwickeln
|
||||
1. License Server API entwickeln mit Endpunkten:
|
||||
- `/api/version` - Versionscheck
|
||||
- `/api/validate` - Lizenzvalidierung
|
||||
- `/api/heartbeat` - Session-Management
|
||||
2. Mobile Optimizations für Admin Panel
|
||||
3. Weitere Sicherheitsfeatures
|
||||
4. Performance-Optimierungen
|
||||
|
||||
---
|
||||
|
||||
@@ -1485,4 +1488,81 @@ ALTER TABLE login_attempts ALTER COLUMN blocked_until TYPE TIMESTAMP WITH TIME Z
|
||||
- ✅ Erster Klick auf Spalte: Aufsteigend sortieren
|
||||
- ✅ Zweiter Klick: Absteigend sortieren
|
||||
- ✅ Weitere Klicks: Toggle zwischen ASC/DESC
|
||||
- ✅ Sortierung funktioniert korrekt mit Pagination und Filtern
|
||||
- ✅ Sortierung funktioniert korrekt mit Pagination und Filtern
|
||||
|
||||
### 2025-01-08: Port 8443 geschlossen - API nur noch über Nginx
|
||||
|
||||
**Problem:**
|
||||
- Doppelte Verfügbarkeit des License Servers (Port 8443 + Nginx) machte keinen Sinn
|
||||
- Inkonsistente Sicherheitskonfiguration (Nginx hatte Security Headers, Port 8443 nicht)
|
||||
- Doppelte SSL-Konfiguration nötig
|
||||
- Verwirrung welcher Zugangsweg genutzt werden soll
|
||||
|
||||
**Lösung:**
|
||||
- Port-Mapping für License Server in docker-compose.yaml entfernt
|
||||
- API nur noch über Nginx erreichbar: https://api-software-undso.z5m7q9dk3ah2v1plx6ju.com
|
||||
- Interne Kommunikation zwischen Nginx und License Server bleibt bestehen
|
||||
|
||||
**Vorteile:**
|
||||
- ✅ Einheitliche Sicherheitskonfiguration (Security Headers, HSTS)
|
||||
- ✅ Zentrale SSL-Verwaltung nur in Nginx
|
||||
- ✅ Möglichkeit für Rate Limiting und zentrales Logging
|
||||
- ✅ Keine zusätzlichen offenen Ports (nur 80/443)
|
||||
- ✅ Professionellere API-URL ohne Port-Angabe
|
||||
|
||||
**Geänderte Dateien:**
|
||||
- `v2/docker-compose.yaml`: Port-Mapping "8443:8443" entfernt
|
||||
|
||||
**Hinweis für Client-Software:**
|
||||
- API-Endpunkte sind weiterhin unter https://api-software-undso.z5m7q9dk3ah2v1plx6ju.com erreichbar
|
||||
- Keine Änderung der API-URLs nötig, nur Port 8443 ist nicht mehr direkt zugänglich
|
||||
|
||||
**Status:**
|
||||
- ✅ Port 8443 geschlossen
|
||||
- ✅ API nur noch über Nginx Reverse Proxy erreichbar
|
||||
- ✅ Sicherheit erhöht durch zentrale Verwaltung
|
||||
|
||||
### 2025-01-08: Live-Filtering implementiert
|
||||
|
||||
**Problem:**
|
||||
- Benutzer mussten immer auf "Filter anwenden" klicken
|
||||
- Umständliche Bedienung, besonders bei mehreren Filterkriterien
|
||||
- Nicht zeitgemäße User Experience
|
||||
|
||||
**Lösung:**
|
||||
- JavaScript Event-Listener für automatisches Filtern
|
||||
- Text-Eingaben: 300ms Debouncing (verzögerte Suche nach Tipp-Pause)
|
||||
- Dropdowns: Sofortiges Filtern bei Änderung
|
||||
- "Filter anwenden" Button entfernt, nur "Zurücksetzen" bleibt
|
||||
|
||||
**Implementierte Live-Filter:**
|
||||
1. **Lizenzübersicht** (licenses.html):
|
||||
- Suchfeld mit Debouncing
|
||||
- Typ-Dropdown (Vollversion/Testversion)
|
||||
- Status-Dropdown (Aktiv/Ablaufend/Abgelaufen/Deaktiviert)
|
||||
|
||||
2. **Kundenübersicht** (customers.html):
|
||||
- Suchfeld mit Debouncing
|
||||
- "Suchen" Button entfernt
|
||||
|
||||
3. **Audit-Log** (audit_log.html):
|
||||
- Benutzer-Textfeld mit Debouncing
|
||||
- Aktion-Dropdown
|
||||
- Entität-Dropdown
|
||||
|
||||
**Technische Details:**
|
||||
- `addEventListener('input')` für Textfelder
|
||||
- `addEventListener('change')` für Select-Elemente
|
||||
- `setTimeout()` mit 300ms für Debouncing
|
||||
- Automatisches `form.submit()` bei Änderungen
|
||||
|
||||
**Vorteile:**
|
||||
- ✅ Schnellere und intuitivere Bedienung
|
||||
- ✅ Weniger Klicks erforderlich
|
||||
- ✅ Moderne User Experience
|
||||
- ✅ Besonders hilfreich bei komplexen Filterkriterien
|
||||
|
||||
**Status:**
|
||||
- ✅ Live-Filtering auf allen Hauptseiten implementiert
|
||||
- ✅ Debouncing verhindert zu viele Server-Requests
|
||||
- ✅ Zurücksetzen-Button bleibt für schnelles Löschen aller Filter
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren