# 📘 NodeMap – Entwicklerdokumentation Willkommen in der Entwicklerdokumentation für **NodeMap** – einer modularen Kartenanwendung zur Visualisierung und Bearbeitung von GIS-Daten, POIs und Gerätestatus in einer interaktiven Leaflet-Karte. Diese Anleitung führt dich **Schritt für Schritt** durch die wichtigsten Bereiche für lokale Entwicklung, Architekturverständnis und Erweiterung. --- ## 📚 Inhaltsverzeichnis ### 🔹 Einstieg & Übersicht - [Projektüberblick](architecture.md) - [Build & Deployment](build-and-deploy.md) - [Checkliste für Deployment](checklist.md) - [Dynamische Marker erklärt](DynamischeMarkerErklaerung.md) ### 🧭 Architektur - [Layer-Verbindung (Geräte)](architecture/device-layer-connection.md) ### ⚙️ Konfiguration - [appVersion.js](config/appVersion.md) - [Konfiguration: config.js](config/config.md) - [Layer-Konfiguration](config/layers.md) - [Allgemeine Übersicht](config/README.md) ### 🧩 Hauptkomponenten - [MapComponent](components/mainComponent/MapComponent.md) - [useInitializeMap](components/mainComponent/hooks/useInitializeMap.md) ### 🗺️ Kontextmenü - [Übersicht Kontextmenü](components/contextmenu/README.md) - [useMapContextMenu Hook](components/contextmenu/useMapContextMenu.md) - [CoordinatePopup](components/contextmenu/CoordinatePopup.md) ### ➕ POIs - [POI hinzufügen (AddPOIModal)](components/pois/AddPOIModal.md) - [POI bearbeiten (PoiUpdateModal)](components/pois/PoiUpdateModal.md) ### 📏 GIS-Polylinien - [PolylineContextMenu](components/gisPolylines/PolylineContextMenu.md) - [StartIcon](components/gisPolylines/icons/StartIcon.md) - [EndIcon](components/gisPolylines/icons/EndIcon.md) - [CircleIcon](components/gisPolylines/icons/CircleIcon.md) - [SupportPointIcons](components/gisPolylines/icons/SupportPointIcons.md) ### 💡 UI-Komponenten - [CoordinateInput](components/uiWidgets/CoordinateInput.md) - [VersionInfoModal](components/uiWidgets/VersionInfoModal.md) - [EditModeToggle](components/uiWidgets/mapLayersControlPanel/EditModeToggle.md) - [MapLayersControlPanel](components/uiWidgets/mapLayersControlPanel/MapLayersControlPanel.md) ### 🔍 Weitere Tools - [TestScript (Debug)](components/TestScript.md) --- --- ## 🔍 Projektüberblick NodeMap wird von **TALAS.web** über einen iFrame geladen. Die Anwendung verwendet moderne Technologien wie: | Technologie | Zweck | | ------------- | ------------------------------ | | Next.js | React-Framework (Frontend/SSR) | | Leaflet | Kartendarstellung | | Redux Toolkit | Zustandverwaltung | | Tailwind CSS | Styling | | MySQL | Datenbank | | Node.js / IIS | Server und Auslieferung | ➡ Mehr zur Architektur: [architecture.md](/docs/architecture.md) --- ## 🧱 Projektstruktur & Setup 🔧 **Zielsystem:** - Offline-Umgebung - Windows-Server mit IIS - Datenzugriff über Webservice oder lokale API 🚀 **Lokale Entwicklung starten:** ➡ [Entwicklungssetup](guide/setup-dev.md) 📁 **Verzeichnisstruktur verstehen:** ➡ [Projektstruktur erklärt](guide/project-structure.md) 🛠️ **Abhängigkeiten & Tools:** ➡ [dependencies.md](guide/dependencies.md) 🌐 **Umgebungsvariablen (env-Dateien):** ➡ [env.md](guide/env.md) --- ## 🔌 Webservices & API-Fluss NodeMap greift auf zwei Datenquellen zu: 1. **TALAS-WebServices** (Port 80) – Gerätedaten, POIs, Rechte etc. 2. **Lokale Next.js API** (Port 3000) – eigene Datenbankabfragen via MySQL ➡ [Webservices-Dokumentation](guide/webservices.md) --- ## 🧠 Zustandverwaltung (Redux) Alle Karten- und Gerätefunktionen (z. B. Marker, Linien, POIs) sind über Redux-Slices und Thunks organisiert: - Datenfluss: `Service` → `Thunk` → `Slice` → `Komponente` - Beispiel: POI-Daten, Gerätemarker, Rechteprüfung, Sichtbarkeiten ➡ [Zustandverwaltung mit Redux](guide/redux-zustand.md) --- ## 🧪 Entwicklung & Testdaten Um auch **ohne echte Datenquelle** arbeiten zu können: - ✔ Mockdaten-Modus über `.env.local` - ✔ API-Antworten werden lokal simuliert - ✔ Redux prüft, ob `process.env.NEXT_PUBLIC_USE_MOCKS === true` ➡ [Mockdaten & Entwicklung](guide/mock-data.md) --- ## ❗ Fehlerbehandlung & Glossar Typische Probleme bei Installation, Deployment oder Datenzugriff: ➡ [FAQ & häufige Fehler](guide/faq.md) Begriffe wie `POI`, `IdMap`, `Station`, `Layer`, `Slice` erklärt: ➡ [Glossar](guide/glossar.md) --- ## 🔄 Hinweis zum Deployment Für die Anleitung zur Installation auf dem Server → siehe 📦 [Root-README.md im Projektverzeichnis](../README.md) --- 🧩 **Fragen oder neue Entwickler im Team?** Diese README ist der beste Startpunkt und enthält alle Links zur vertieften technischen Dokumentation.