168 lines
4.7 KiB
Markdown
168 lines
4.7 KiB
Markdown
# 📘 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.
|