Files
nodeMap/docs/README.md
2025-06-24 07:07:43 +02:00

168 lines
4.7 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 📘 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.