docs
This commit is contained in:
@@ -25,4 +25,4 @@ NEXT_PUBLIC_USE_MOCKS=true
|
||||
NEXT_PUBLIC_BASE_PATH=/talas5
|
||||
# Oder leer lassen für direkten Zugriff -> NEXT_PUBLIC_BASE_PATH=
|
||||
# App-Versionsnummer
|
||||
NEXT_PUBLIC_APP_VERSION=1.1.277
|
||||
NEXT_PUBLIC_APP_VERSION=1.1.278
|
||||
|
||||
@@ -26,4 +26,4 @@ NEXT_PUBLIC_BASE_PATH=/talas5
|
||||
# Oder leer lassen für direkten Zugriff -> NEXT_PUBLIC_BASE_PATH=
|
||||
|
||||
# App-Versionsnummer
|
||||
NEXT_PUBLIC_APP_VERSION=1.1.277
|
||||
NEXT_PUBLIC_APP_VERSION=1.1.278
|
||||
@@ -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:
|
||||

|
||||
|
||||
➡️ [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/...`
|
||||
|
||||
---
|
||||
|
||||
@@ -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`
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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:
|
||||

|
||||
|
||||
**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.
|
||||
|
||||

|
||||
|
||||
Um den Dienst über die Eingabeaufforderung zu starten, verwenden Sie den folgenden Befehl:
|
||||
|
||||
```shell
|
||||
nssm.exe start DienstName
|
||||
```
|
||||
|
||||
BIN
docs/screenshots/nssm-service-editor.png
Normal file
BIN
docs/screenshots/nssm-service-editor.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "nodemap",
|
||||
"version": "1.1.277",
|
||||
"version": "1.1.278",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "nodemap",
|
||||
"version": "1.1.277",
|
||||
"version": "1.1.278",
|
||||
"dependencies": {
|
||||
"@emotion/react": "^11.13.3",
|
||||
"@emotion/styled": "^11.13.0",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "nodemap",
|
||||
"version": "1.1.277",
|
||||
"version": "1.1.278",
|
||||
"dependencies": {
|
||||
"@emotion/react": "^11.13.3",
|
||||
"@emotion/styled": "^11.13.0",
|
||||
|
||||
Reference in New Issue
Block a user