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