Files
nodeMap/docs/TODO.md
2025-09-12 09:26:59 +02:00

4.9 KiB
Raw Blame History

🧪 Hinweise zur Entwicklung

  • Mock-Dateien liegen unter /public/__mocks__/
  • In .env.local ist NEXT_PUBLIC_USE_MOCKS=true gesetzt
  • Diese helfen beim UI-Test der Intervall-Aktualisierung (Charts, Statusanzeigen)
  • Manuell bearbeitbar, um gezielt Systemverhalten zu simulieren

🔧 Offene Aufgaben

  • TODO: GMA auf 13er ist anders als in der Entwicklungsumgebung, Tooltip wird nicht angezeigt

  • TODO: In editMode ohne Rechte kann noch die Linien Stützpunkte positioniert werden, es soll das nicht!

  • TODO: In editMode ohne Rechte kann noch den Bereich positioniert werden, es soll das nicht!

  • TODO: die Messwerte GMA werden nicht angezeigt

  • TODO: der Kunde könnte statt GMA andere Name haben

  • TODO: überall durch ein Interval Services aufrufen um die Daten zu aktualisieren , am besten in eine Zentraler Stelle ---> von ein Hook die alle gebrauchte Slice und thunks holt mit setInterval, diesen hokk in main component integrieren

  • TODO: Möglichkeit bevor in Gitea hochgeladen, .env.local anpassen, vielleicht mit husky Wenn git push genutzt wird soll für Produktionsumgebung angepasst werden, Vorschlag ---> .env.local und .env.production für Entwicklungsumgebung und Produktionsumgebung automatische Switch

🧹 Memory Leaks prüfen

  • MapComponent.js - [ ] setInterval(...) (1x) - [ ] setTimeout(...) (2x) - [ ] window.xyz = ... (4x) globale Variablen - [ ] map.on(...) (2x) - [ ] addEventListener(...) (1x) - 📌 Problematisch, wenn clearInterval, clearTimeout, map.off(...) oder removeEventListener(...) nicht im useEffect-Cleanup gemacht werden. → Speicher kann anwachsen, besonders bei Hot-Reload oder Navigation im iFrame.

  • useAreaMarkersLayer.js - [ ] setInterval(...) - [ ] addEventListener(...) - 📌 Auch hier muss geprüft werden, ob beim Unmounting der Komponente clearInterval() und removeEventListener() aufgerufen wird.

  • AddPOIModal.js - [ ] setTimeout(...) - 📌 Prüfen, ob der Timeout vor unmount gecleart wird (z.B. bei schnellem Öffnen und Schließen des Modals).

  • MapLayersControlPanel.js - [ ] setTimeout(...)

  • useDataUpdater.js - [ ] setInterval(...) - 📌 Sehr wahrscheinlich ein regelmäßiger Polling-Mechanismus → unbedingt prüfen, ob clearInterval() im useEffect-Cleanup enthalten ist.

-[x] TODO: WebSocket für webService erstellen , falls etwas geändert wird dann soll aktualisiert, optimiert besser als setInterval, zuerst nur für TALAS.web WebServices erstellen, irgendwann soll die Daten von DB auch mit WebSocket gelöst werden

  • TODO: POI bearbeiten funktioniert es nicht
  • TODO: Linien Links noch mit Port 3000
  • TODO: Checkliste für README.md vorbereiten

🐞 Aktuelle Bugs

  • Tooltip zeigt unknown bei bestimmten Linien
    → prüfen in setupPolylines.js, ob alle Geräte korrekt benannt sind

  • Tooltip zeigt N/A bei Station → untersuchen, ob station.Name in createAndSetDevices.js gesetzt wird

Ideen & Verbesserungen

  • ESC-Taste schließt VersionInfoModal
  • Zurück-Link in jedem .md Footer automatisieren

🧹 Technische Schulden

  • Redundante Kontextmenülogik auflösen
  • Bessere Trennung zwischen Mock- und Live-API in Service-Funktionen

28.07.2025 IdSystem 11 GMA Glätemeldeanlagen, werden neu neu laden das Browser nich mehr geladen in DB maps idsystem ändern und testen

12.09.2025

Die aktuelle Ansicht ist bei kleineren Auflösungen unübersichtlich bzw. es wird zuviel von der eigentlichen Karte verdeckt. Unquittierter Alarm, critical

Zu Marker zoomen

Station suchen

  • TODO: Unquittierter Alarm, critical

  • TODO: Zu Marker zoomen: Dropdown-Menu Station auswählen und hinein zoomen bis zu ausgewählte in einem betimmten Zoom-Stufe der Leaflet (OSM) Station mit flyto in Leaflet

  • TODO: Station suchen: CoordinateInput.js Modal soll über einem Icon 'Suche / Lupe' oben rechts eingeblendet und ausgeblendet um mehr von der Karte zu sehen

  • TODO: Editiermodus: EditMode Stift Icon aktivieren und deaktivieren um POI Position ändern zu können wenn der User Berechtigung hat

  • TODO: Vergrössern: Maximieren Icon Button um rauszoomen zu einem bestimmten Bereich, z.B. Deutschland Karte im Fenster sichtbar

  • TODO: Ebenen (Openstreetmap): Stack/Stapel/Ebenen Icon um den Ansicht der Karten zu ändern

  • TODO: Menü öffenen mit Kiste der Systeme: MapLayerControlPanel.js Modal soll über einem Icon 'Hamburger menu' oben rechts eingeblendet und ausgeblendet um mehr von der Karte zu sehen

  • TODO: Info Karte: VersionInfoModal.js Modal soll über einem Icon 'Info' oben rechts eingeblendet und ausgeblendet um mehr von der Karte zu sehen