# 📘 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 - [📘 NodeMap – Entwicklerdokumentation](#-nodemap--entwicklerdokumentation) - [📚 Inhaltsverzeichnis](#-inhaltsverzeichnis) - [🔍 Projektüberblick](#-projektüberblick) - [🧱 Projektstruktur \& Setup](#-projektstruktur--setup) - [🔌 Webservices \& API-Fluss](#-webservices--api-fluss) - [🧠 Zustandverwaltung (Redux)](#-zustandverwaltung-redux) - [🧪 Entwicklung \& Testdaten](#-entwicklung--testdaten) - [❗ Fehlerbehandlung \& Glossar](#-fehlerbehandlung--glossar) - [🔄 Hinweis zum Deployment](#-hinweis-zum-deployment) --- ## 🔍 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.