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

@@ -25,4 +25,4 @@ NEXT_PUBLIC_USE_MOCKS=true
NEXT_PUBLIC_BASE_PATH=/talas5 NEXT_PUBLIC_BASE_PATH=/talas5
# Oder leer lassen für direkten Zugriff -> NEXT_PUBLIC_BASE_PATH= # Oder leer lassen für direkten Zugriff -> NEXT_PUBLIC_BASE_PATH=
# App-Versionsnummer # App-Versionsnummer
NEXT_PUBLIC_APP_VERSION=1.1.277 NEXT_PUBLIC_APP_VERSION=1.1.278

View File

@@ -26,4 +26,4 @@ NEXT_PUBLIC_BASE_PATH=/talas5
# Oder leer lassen für direkten Zugriff -> NEXT_PUBLIC_BASE_PATH= # Oder leer lassen für direkten Zugriff -> NEXT_PUBLIC_BASE_PATH=
# App-Versionsnummer # App-Versionsnummer
NEXT_PUBLIC_APP_VERSION=1.1.277 NEXT_PUBLIC_APP_VERSION=1.1.278

View File

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

View File

@@ -15,15 +15,15 @@ http://localhost/talas5/ClientData/WebServiceMap.asmx
### Verfügbare Methoden (Auszug): ### Verfügbare Methoden (Auszug):
| Endpunkt | Zweck / Datenquelle | | Endpunkt | Zweck / Datenquelle |
| --------------------------- | ------------------------------------------ | | --------------------------- | ----------------------------------------- |
| `CablesStatic` | Liste aller Stränge | | `CablesStatic` | Liste aller Stränge |
| `GetIconsStatic` | Liste aller Icons | | `GetIconsStatic` | Liste aller Icons |
| `GisLinesStatus` | Liste aller Status der Linien | | `GisLinesStatus` | Liste aller Status der Linien |
| `GisStationsMeasurements` | Liste aller Messungen der Geräte | | `GisStationsMeasurements` | Liste aller Messungen der Geräte |
| `GisStationsStaticDistrict` | Liste aller Geraete einer bestimmten Karte | | `GisStationsStaticDistrict` | Liste aller Geräte einer bestimmten Karte |
| `GisStationsStatusDistrict` | Liste aller Statis der Geräte | | `GisStationsStatusDistrict` | Liste aller Statis der Geräte |
| `GisSystemStatic` | Liste aller angezeigten Systeme | | `GisSystemStatic` | Liste aller angezeigten Systeme |
Die Webservices liefern JSON und werden im Frontend über `services/*.js` abgefragt. 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. 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 --> <!-- /docs/nssm-exe-installation.md -->
````markdown ````markdown
- Sicherstellen, dass `nssm.exe` in `C:\inetpub\wwwroot\talas5\nodeMap\` vorhanden ist
- Als Administrator Eingabeaufforderung oder PowerShell öffnen - Als Administrator Eingabeaufforderung oder PowerShell öffnen
- Navigiere zu dem NodeMap Projekt Verzeichnis: - Navigiere zu dem NodeMap Projekt Verzeichnis:
@@ -9,17 +10,18 @@
``` ```
```` ````
- Befehl zum Erstellen eines Dienstes: - Befehl zum Erstellen eines Dienstes: Führen Sie den folgenden Befehl aus, um einen neuen Dienst zu
Führen Sie den folgenden Befehl aus, um einen neuen Dienst zu erstellen: erstellen:
```shell ```shell
nssm.exe install NodeMapService .\nssm.exe install NodeMapService
``` ```
Nachdem Sie diesen Befehl ausgeführt haben, öffnet sich ein NSSM-Dialogfenster. Nachdem Sie diesen Befehl ausgeführt haben, öffnet sich ein NSSM-Dialogfenster.
**Dienstkonfiguration:** ![NSSM service editor](/docs/screenshots/nssm-service-editor.png)
In dem geöffneten NSSM-Dialogfenster müssen Sie einige Parameter angeben:
**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. - **Path:** Der Pfad zur ausführbaren Datei, die der Dienst ausführen soll.
```shell ```shell
@@ -31,10 +33,13 @@
``` ```
- **Arguments:** kann leer gelassen werden. - **Arguments:** kann leer gelassen werden.
- Dienst starten: - Dienst starten: Sobald der Dienst erstellt wurde, können Sie ihn starten. Das können Sie entweder
Sobald der Dienst erstellt wurde, können Sie ihn starten. über die Eingabeaufforderung oder über die Diensteverwaltung von Windows tun.
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: Um den Dienst über die Eingabeaufforderung zu starten, verwenden Sie den folgenden Befehl:
```shell ```shell
nssm.exe start DienstName nssm.exe start DienstName
``` ```

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{ {
"name": "nodemap", "name": "nodemap",
"version": "1.1.277", "version": "1.1.278",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "nodemap", "name": "nodemap",
"version": "1.1.277", "version": "1.1.278",
"dependencies": { "dependencies": {
"@emotion/react": "^11.13.3", "@emotion/react": "^11.13.3",
"@emotion/styled": "^11.13.0", "@emotion/styled": "^11.13.0",

View File

@@ -1,6 +1,6 @@
{ {
"name": "nodemap", "name": "nodemap",
"version": "1.1.277", "version": "1.1.278",
"dependencies": { "dependencies": {
"@emotion/react": "^11.13.3", "@emotion/react": "^11.13.3",
"@emotion/styled": "^11.13.0", "@emotion/styled": "^11.13.0",