## 🧱 Projektstruktur

```bash
components/     → UI-Komponenten inkl. Karte und Layer-Control-Panel (`MapLayersControlPanel`)

📦components
 ┣ 📂contextmenu
 ┃ ┣ 📜CoordinatePopup.js
 ┃ ┗ 📜useMapContextMenu.js
 ┣ 📂gisPolylines
 ┃ ┣ 📂icons
 ┃ ┃ ┣ 📜CircleIcon.js
 ┃ ┃ ┣ 📜EndIcon.js
 ┃ ┃ ┣ 📜StartIcon.js
 ┃ ┃ ┗ 📜SupportPointIcons.js
 ┃ ┗ 📜PolylineContextMenu.js
 ┣ 📂icons
 ┃ ┗ 📂devices
 ┃ ┃ ┗ 📂overlapping
 ┃ ┃ ┃ ┗ 📜PlusRoundIcon.js
 ┣ 📂mainComponent
 ┃ ┣ 📂hooks
 ┃ ┃ ┗ 📜useInitializeMap.js
 ┃ ┗ 📜MapComponent.js
 ┣ 📂pois
 ┃ ┣ 📜AddPOIModal.js
 ┃ ┗ 📜PoiUpdateModal.js
 ┣ 📂uiWidgets
 ┃ ┣ 📂mapLayersControlPanel
 ┃ ┃ ┣ 📜EditModeToggle.js
 ┃ ┃ ┗ 📜MapLayersControlPanel.js
 ┃ ┣ 📜CoordinateInput.js
 ┃ ┗ 📜VersionInfoModal.js
 ┗ 📜TestScript.js


config/         → zentrale Variablen (.env.local)

hooks/          → eigene React-Hooks

utils/          → POI- und Linienverarbeitung

lib/            → Formatierungen, Umrechnungen

public/         → Bilder, Icons, mapTiles sind nicht im nodeMap Projekt Verzeichnis sondern in TALAS Verzeichnis

pages/          → Next.js Seiten & Routen

scripts/        → lokale Tools (nur Dev)

redux/          → globale Zustände (Slices)
📦redux
 ┣ 📂slices
 ┃ ┣ 📂database
 ┃ ┃ ┣ 📂pois
 ┃ ┃ ┃ ┣ 📜addPoiOnPolylineSlice.js
 ┃ ┃ ┃ ┣ 📜addPoiSlice.js
 ┃ ┃ ┃ ┣ 📜currentPoiSlice.js
 ┃ ┃ ┃ ┣ 📜poiIconsDataSlice.js
 ┃ ┃ ┃ ┣ 📜poiLayerVisibleSlice.js
 ┃ ┃ ┃ ┣ 📜poiReadFromDbTriggerSlice.js
 ┃ ┃ ┃ ┣ 📜poiTypesSlice.js
 ┃ ┃ ┃ ┣ 📜poiTypSlice.js
 ┃ ┃ ┃ ┣ 📜readPoiMarkersStoreSlice.js
 ┃ ┃ ┃ ┗ 📜selectedPoiSlice.js
 ┃ ┃ ┣ 📂polylines
 ┃ ┃ ┃ ┣ 📜gisLinesSlice.js
 ┃ ┃ ┃ ┣ 📜polylineContextMenuSlice.js
 ┃ ┃ ┃ ┣ 📜polylineEventsDisabledSlice.js
 ┃ ┃ ┃ ┗ 📜polylineLayerVisibleSlice.js
 ┃ ┃ ┣ 📜locationDevicesFromDBSlice.js
 ┃ ┃ ┣ 📜locationDevicesSlice.js
 ┃ ┃ ┗ 📜priorityConfigSlice.js
 ┃ ┣ 📂webservice
 ┃ ┃ ┣ 📜gisLinesStatusSlice.js
 ┃ ┃ ┣ 📜gisStationsMeasurementsSlice.js
 ┃ ┃ ┣ 📜gisStationsStaticDistrictSlice.js
 ┃ ┃ ┣ 📜gisStationsStatusDistrictSlice.js
 ┃ ┃ ┣ 📜gisSystemStaticSlice.js
 ┃ ┃ ┗ 📜userRightsSlice.js
 ┃ ┣ 📜lineVisibilitySlice.js
 ┃ ┣ 📜mapLayersSlice.js
 ┃ ┣ 📜selectedAreaSlice.js
 ┃ ┣ 📜selectedDeviceSlice.js
 ┃ ┣ 📜urlParameterSlice.js
 ┃ ┗ 📜zoomTriggerSlice.js
 ┣ 📂thunks
 ┃ ┣ 📂database
 ┃ ┃ ┣ 📂pois
 ┃ ┃ ┃ ┣ 📜addPoiThunk.js
 ┃ ┃ ┃ ┣ 📜deletePoiThunk.js
 ┃ ┃ ┃ ┣ 📜fetchPoiIconsDataThunk.js
 ┃ ┃ ┃ ┣ 📜fetchPoiTypThunk.js
 ┃ ┃ ┃ ┗ 📜updatePoiThunk.js
 ┃ ┃ ┣ 📂polylines
 ┃ ┃ ┃ ┗ 📜fetchGisLinesThunk.js
 ┃ ┃ ┣ 📜fetchLocationDevicesThunk.js
 ┃ ┃ ┣ 📜fetchPriorityConfigThunk.js
 ┃ ┃ ┗ 📜getDeviceIdByNameThunk.js
 ┃ ┗ 📂webservice
 ┃ ┃ ┣ 📜fetchGisLinesStatusThunk.js
 ┃ ┃ ┣ 📜fetchGisStationsMeasurementsThunk.js
 ┃ ┃ ┣ 📜fetchGisStationsStaticDistrictThunk.js
 ┃ ┃ ┣ 📜fetchGisStationsStatusDistrictThunk.js
 ┃ ┃ ┣ 📜fetchGisSystemStaticThunk.js
 ┃ ┃ ┗ 📜fetchUserRightsThunk.js
 ┗ 📜store.js

services/       → API-Kommunikation, Mock-Logik
📦services
 ┣ 📂database
 ┃ ┣ 📂pois
 ┃ ┃ ┣ 📜addPoiService.js
 ┃ ┃ ┣ 📜deletePoiService.js
 ┃ ┃ ┣ 📜fetchPoiDataByIdService.js
 ┃ ┃ ┣ 📜fetchPoiDataService.js
 ┃ ┃ ┣ 📜fetchPoiIconsDataService.js
 ┃ ┃ ┣ 📜fetchPoiTypService.js
 ┃ ┃ ┗ 📜updatePoiService.js
 ┃ ┣ 📂polylines
 ┃ ┃ ┗ 📜fetchGisLinesService.js
 ┃ ┣ 📜fetchDeviceNameByIdService.js
 ┃ ┣ 📜fetchLocationDevicesService.js
 ┃ ┣ 📜fetchPriorityConfigService.js
 ┃ ┣ 📜getDeviceIdByNameService.js
 ┃ ┗ 📜updateLocationInDatabaseService.js
 ┣ 📂utils
 ┃ ┗ 📜fetchWithTimeout.js
 ┗ 📂webservice
 ┃ ┣ 📜fetchGisLinesStatusService.js
 ┃ ┣ 📜fetchGisStationsMeasurementsService.js
 ┃ ┣ 📜fetchGisStationsStaticDistrictService.js
 ┃ ┣ 📜fetchGisStationsStatusDistrictService.js
 ┃ ┣ 📜fetchGisSystemStaticService.js
 ┃ ┗ 📜fetchUserRightsService.js
```
