This commit is contained in:
ISA
2025-06-23 14:32:40 +02:00
parent 1d3006df8e
commit 831ce5851a
9 changed files with 117 additions and 42 deletions

View File

@@ -1,14 +1,87 @@
<!-- /docs/README.md -->
# Entwickler-Dokumentation
# 🚀 NodeMap Einstieg für Entwickler
Willkommen in der technischen Dokumentation von NodeMap.
Willkommen in der NodeMap-Welt einer Offline-Kartenanwendung zur Verwaltung von POIs und
Gerätestatus für TALAS.web.
📂 Wichtige Themen:
---
- Webservices: `api/webservices.md`
- Redux / Fetch-Logik: `redux/api/fromWebService.md`
- Konfigurationsschema: `env/env.local.schema.md`
- Deployment: `deployment.md`
## 📚 Kapitelübersicht
Diese Doku ist für Entwickler, die an diesem Projekt mitarbeiten oder übernehmen.
- [🚀 NodeMap Einstieg für Entwickler](#-nodemap--einstieg-für-entwickler)
- [📚 Kapitelübersicht](#-kapitelübersicht)
- [1. Was ist NodeMap?](#1-was-ist-nodemap)
- [2. Lokale Entwicklung](#2-lokale-entwicklung)
- [3. Systemübersicht](#3-systemübersicht)
- [4. Datenflüsse \& API](#4-datenflüsse--api)
- [5. Tipps](#5-tipps)
- [6. Deployment](#6-deployment)
---
## 1. Was ist NodeMap?
NodeMap ist ein Offline-Kartensystem auf Basis von Leaflet, React & Next.js, das über ein iFrame in
TALAS eingebettet wird.
📷 Beispielansicht:
![Kartenansicht](/docs/screenshots/overview1.png)
➡️ [Mehr erfahren...](/docs/guide/project-structure.md)
---
## 2. Lokale Entwicklung
👉 [Setup-Anleitung](docs/guide/setup-dev.md)
- `git clone …`
- `npm install`
- `npm run dev`
- `.env.local` konfigurieren
👨‍💻 Wenn du das Projekt starten kannst → bist du bereit für Schritt 3!
---
## 3. Systemübersicht
🔁 Was lädt die Karte?
- POIs, Linien, Geräte, Rechte
- Datenquellen: Webservices (Port 80), eigene API (Port 3000)
🧠 Architektur-Doku:
➡️ [devices & Layerstruktur](docs/architecture/device-layer-connection-final.md)
---
## 4. Datenflüsse & API
📦 Die wichtigsten Schnittstellen:
- [Webservices (TALAS)](docs/guide/webservices.md)
- [Datenbankzugriff (Next.js)](docs/services/database/README.md)
- [Redux Struktur](docs/guide/redux-zustand.md)
---
## 5. Tipps
- 🔍 Häufige Fehler: [FAQ & Troubleshooting](docs/guide/faq.md)
- 🔄 Version wird automatisch über Git erhöht
- 🔐 `.env.production` nie ins Git committen!
---
## 6. Deployment
📤 Anleitung:
➡️ [Deployment-Guide](docs/guide/deployment.md)
- ZIP bauen
- Dienst starten oder `npm run start`
- Test via: `http://<ip>/talas5/...`
---

View File

@@ -72,14 +72,14 @@ sequenceDiagram
## 📁 Schlüsselfunktionen & Module
| Bereich | Datei/Modul | Aufgabe |
| ------------- | ----------------------------------------------- | ---------------------------------------- |
| Kartenlogik | `MapComponent.js` | Zentrale Initialisierung und Layer-Logik |
| Webservices | `services/webservice/` | Kommunikation mit TALAS V5 Webservice |
| Datenbank | `services/database/` | Zugriff auf lokale Next.js-API & DB |
| POIs | `AddPOIModal.js`, `PoiUpdateModal.js` | UI für POI-Erstellung & -Bearbeitung |
| Redux | `redux/slices/`, `redux/thunks/`, `redux/store` | Globaler State, API-Steuerung |
| Konfiguration | `.env.local`, `config.js`, dynamic URLs | IP, basePath, Ports |
| Bereich | Datei/Modul | Aufgabe |
| ------------- | --------------------------------------------------------------- | ---------------------------------------- |
| Kartenlogik | `MapComponent.js` | Zentrale Initialisierung und Layer-Logik |
| Webservices | `services/webservice/` | Kommunikation mit TALAS V5 Webservice |
| Datenbank | `services/database/` | Zugriff auf lokale Next.js-API & DB |
| POIs | `AddPOIModal.js`, `PoiUpdateModal.js` | UI für POI-Erstellung & -Bearbeitung |
| Redux | `redux/slices/`, `redux/thunks/`, `redux/store` | Globaler State, API-Steuerung |
| Konfiguration | `.env.development`,`.env.production`, `config.js`, dynamic URLs | IP, basePath, Ports |
---
@@ -99,10 +99,7 @@ sequenceDiagram
## 📦 Versionierung & Builds
- Version ist in `appVersion.js` definiert → wird über `NEXT_PUBLIC_APP_VERSION` eingeblendet
- Build erfolgt via `npm run build`, Auslieferung über `.next/`
- Nicht benötigte Dateien wie `__tests__`, `docs/`, `scripts/` etc. werden nicht in den Build
aufgenommen
- Version wird mit Husky Bibliothek automatisch erhöhert in `scripts/bumpVersion.js`
---

View File

@@ -15,15 +15,15 @@ http://localhost/talas5/ClientData/WebServiceMap.asmx
### Verfügbare Methoden (Auszug):
| Endpunkt | Zweck / Datenquelle |
| --------------------------- | ------------------------------------------ |
| `CablesStatic` | Liste aller Stränge |
| `GetIconsStatic` | Liste aller Icons |
| `GisLinesStatus` | Liste aller Status der Linien |
| `GisStationsMeasurements` | Liste aller Messungen der Geräte |
| `GisStationsStaticDistrict` | Liste aller Geraete einer bestimmten Karte |
| `GisStationsStatusDistrict` | Liste aller Statis der Geräte |
| `GisSystemStatic` | Liste aller angezeigten Systeme |
| Endpunkt | Zweck / Datenquelle |
| --------------------------- | ----------------------------------------- |
| `CablesStatic` | Liste aller Stränge |
| `GetIconsStatic` | Liste aller Icons |
| `GisLinesStatus` | Liste aller Status der Linien |
| `GisStationsMeasurements` | Liste aller Messungen der Geräte |
| `GisStationsStaticDistrict` | Liste aller Geräte einer bestimmten Karte |
| `GisStationsStatusDistrict` | Liste aller Statis der Geräte |
| `GisSystemStatic` | Liste aller angezeigten Systeme |
Die Webservices liefern JSON und werden im Frontend über `services/*.js` abgefragt.
Die Daten werden verarbeitet, zwischengespeichert und z.T. über Redux in der Karte dargestellt.

View File

@@ -1,6 +1,7 @@
<!-- /docs/nssm-exe-installation.md -->
````markdown
- Sicherstellen, dass `nssm.exe` in `C:\inetpub\wwwroot\talas5\nodeMap\` vorhanden ist
- Als Administrator Eingabeaufforderung oder PowerShell öffnen
- Navigiere zu dem NodeMap Projekt Verzeichnis:
@@ -9,17 +10,18 @@
```
````
- Befehl zum Erstellen eines Dienstes:
Führen Sie den folgenden Befehl aus, um einen neuen Dienst zu erstellen:
- Befehl zum Erstellen eines Dienstes: Führen Sie den folgenden Befehl aus, um einen neuen Dienst zu
erstellen:
```shell
nssm.exe install NodeMapService
.\nssm.exe install NodeMapService
```
Nachdem Sie diesen Befehl ausgeführt haben, öffnet sich ein NSSM-Dialogfenster.
**Dienstkonfiguration:**
In dem geöffneten NSSM-Dialogfenster müssen Sie einige Parameter angeben:
![NSSM service editor](/docs/screenshots/nssm-service-editor.png)
**Dienstkonfiguration:** In dem geöffneten NSSM-Dialogfenster müssen Sie einige Parameter angeben:
- **Path:** Der Pfad zur ausführbaren Datei, die der Dienst ausführen soll.
```shell
@@ -31,10 +33,13 @@
```
- **Arguments:** kann leer gelassen werden.
- Dienst starten:
Sobald der Dienst erstellt wurde, können Sie ihn starten.
Das können Sie entweder über die Eingabeaufforderung oder über die Diensteverwaltung von Windows tun.
- Dienst starten: Sobald der Dienst erstellt wurde, können Sie ihn starten. Das können Sie entweder
über die Eingabeaufforderung oder über die Diensteverwaltung von Windows tun.
![nodeMap Dienst](/docs/screenshots/Dienst-beenden.png)
Um den Dienst über die Eingabeaufforderung zu starten, verwenden Sie den folgenden Befehl:
```shell
nssm.exe start DienstName
```

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB