docs: .env.local durch .env.production & .env.development ersetzt + Rücklinks & Footer ergänzt

- Alle Hinweise in Markdown-Dateien aktualisiert: Verwendung von `.env.production` und `.env.development` statt `.env.local`
- Footer-Abschnitte mit „Zurück zur Übersicht“-Link in allen relevanten `/docs/`-Dateien ergänzt
- Inhaltliche Korrekturen und Ergänzungen in Architektur-, Setup-, FAQ-, und Mockdaten-Dokumentation
- Inhaltsverzeichnis in `README.md` aktualisiert und funktionierende relative Links in Unterverzeichnissen sichergestellt
- Ziel: bessere Lesbarkeit, Navigation und Klarheit für neue Entwickler
This commit is contained in:
ISA
2025-06-24 09:00:49 +02:00
parent 0347ec9d98
commit 8894ce4411
21 changed files with 70 additions and 74 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.285 NEXT_PUBLIC_APP_VERSION=1.1.286

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.285 NEXT_PUBLIC_APP_VERSION=1.1.286

View File

@@ -1,27 +0,0 @@
# Pfad zum docs-Ordner anpassen
$root = "C:\Users\isa.LTW\Desktop\24.06.2025\NodeMap\24.06.2025 NodeMap\docs"
# Alle .md-Dateien rekursiv holen, außer README.md
$mdFiles = Get-ChildItem -Path $root -Recurse -Filter *.md | Where-Object { $_.Name -ne "README.md" }
foreach ($file in $mdFiles) {
$content = Get-Content $file.FullName -Raw
if ($content -notmatch "\[Zurück zur Übersicht\]") {
# Pfad relativ zum Root-Ordner
$relativePath = $file.DirectoryName.Substring($root.Length).TrimStart('\')
$depth = if ($relativePath) { $relativePath.Split('\').Count } else { 0 }
# Rücksprungpfad berechnen
$backPath = ("../" * $depth) + "README.md"
# Footer-Text (ohne Emojis!)
$footer = "`n---`n`n[Zurück zur Übersicht]($backPath)`n`n"
# Footer anhängen
Add-Content -Path $file.FullName -Value $footer
Write-Host "✅ Footer hinzugefügt: $($file.FullName)"
} else {
Write-Host "🔄 Footer bereits vorhanden: $($file.FullName)"
}
}

View File

@@ -128,7 +128,8 @@ Die komplette Anwendung verwendet Redux zur globalen Zustandverwaltung.
Zur Entwicklung ohne echte API stehen lokale Mockdaten zur Verfügung: Zur Entwicklung ohne echte API stehen lokale Mockdaten zur Verfügung:
- Aktivierung über `.env.local → NEXT_PUBLIC_USE_MOCKS=true` - Aktivierung über `.env.development → NEXT_PUBLIC_USE_MOCKS=true`
- In `.env.production` sollte `NEXT_PUBLIC_USE_MOCKS=false` gesetzt sein
- Nutzung z.B. in `pages/api/mocks/...` - Nutzung z.B. in `pages/api/mocks/...`
- Hinweise im UI zeigen aktivierten Mockmodus - Hinweise im UI zeigen aktivierten Mockmodus

View File

@@ -86,8 +86,14 @@ sequenceDiagram
## 🧩 Besonderheiten ## 🧩 Besonderheiten
- **Konfigurierbarer basePath:** - **Konfigurierbarer basePath:**
Pfad wie `/talas5` ist optional und kann per `NEXT_PUBLIC_BASE_PATH` in `.env.local` gesetzt - **Konfigurierbarer basePath:**
Pfad wie `/talas5` ist optional und kann per Umgebungsvariable `NEXT_PUBLIC_BASE_PATH` gesetzt
werden. werden.
Die Konfiguration erfolgt je nach Umgebung über:
- `.env.development` für lokale Entwicklung
- `.env.production` für produktiven Einsatz
- **Rechteabhängige UI:** - **Rechteabhängige UI:**
Funktionen (z.B. POI bearbeiten) basieren auf Benutzerrechten (`IdRight`) vom Server. Funktionen (z.B. POI bearbeiten) basieren auf Benutzerrechten (`IdRight`) vom Server.
- **Zentrale Komponentensteuerung:** - **Zentrale Komponentensteuerung:**

View File

@@ -11,12 +11,13 @@ Ziel: Klarheit für Onboarding, Deployment-ZIP-Erstellung oder CI/CD.
## 📦 Wird beim `npm run build` in `.next/` gespeichert ## 📦 Wird beim `npm run build` in `.next/` gespeichert
| Inhalt | Beschreibung | | Inhalt | Beschreibung |
| ---------------------- | -------------------------------------------------- | | -------------------------------------- | ------------------------------------------------------------------------ |
| Kompilierte Seiten | Alle unter `/pages/` | | Kompilierte Seiten | Alle unter `/pages/` |
| API-Routen | Alles aus `pages/api/` | | API-Routen | Alles aus `pages/api/` |
| Assets aus `public/` | Werden im Build nicht verändert, aber ausgeliefert | | Assets aus `public/` | Werden im Build nicht verändert, aber ausgeliefert |
| CSS-Dateien (Tailwind) | Werden gebundelt und minimiert | | CSS-Dateien (Tailwind) | Werden gebundelt und minimiert |
| `.env.local` | Wird eingelesen, aber nicht exportiert | | `.env.production` / `.env.development` | Umgebungsabhängige Konfiguration. Wird eingelesen, aber nicht exportiert |
| JS/TS-Quellcode | Wird zu Client- und Server-Bundles kompiliert | | JS/TS-Quellcode | Wird zu Client- und Server-Bundles kompiliert |
--- ---
@@ -43,7 +44,7 @@ Nur folgende Dateien/Ordner übertragen:
public/ public/
package.json package.json
package-lock.json package-lock.json
.env.local .env.production
``` ```
--- ---

View File

@@ -19,8 +19,8 @@ Bevor du einen Feature-, Refactor- oder Bugfix-Commit abschließt, geh diese Lis
## 📦 Konfiguration ## 📦 Konfiguration
- [ ] Ist `.env.local` aktuell und vollständig (für Entwickler/Testserver)? - [ ] Sind `.env.production` und `.env.development` aktuell und vollständig?
- [ ] Wird jede Konfiguration ausschließlich über `.env.local` gesteuert? - [ ] Wird jede Konfiguration **ausschließlich über `.env.*` Dateien** gesteuert?
--- ---

View File

@@ -30,10 +30,10 @@ Die Komponente informiert Nutzer über:
## ⚙️ Props ## ⚙️ Props
| Prop | Typ | Beschreibung | | Prop | Typ | Beschreibung |
| ----------------------- | ---------- | -------------------------------------------------------------- | | ----------------------- | ---------- | ------------------------------------------------------------------------------------------- |
| `showVersionInfoModal` | `boolean` | Steuert, ob das Modal angezeigt wird | | `showVersionInfoModal` | `boolean` | Steuert, ob das Modal angezeigt wird |
| `closeVersionInfoModal` | `function` | Callback zum Schließen des Modals | | `closeVersionInfoModal` | `function` | Callback zum Schließen des Modals |
| `APP_VERSION` | `string` | Versionstext (z.B. `1.1.188`), meist aus `.env.local` geladen | | `APP_VERSION` | `string` | Versionstext (z.B. `1.1.188`), meist aus `.env.production` oder `.env.development` geladen |
--- ---
@@ -81,7 +81,7 @@ Die Komponente informiert Nutzer über:
## 📦 Verknüpfte Dateien ## 📦 Verknüpfte Dateien
- `.env.local` enthält z.B. `NEXT_PUBLIC_APP_VERSION=1.1.188` - `.env.production` oder `.env.development` enthält z.B. `NEXT_PUBLIC_APP_VERSION=1.1.188`
- Aufruf in `Footer` oder `Layout` zur Anzeige bei Klick auf „Version“ - Aufruf in `Footer` oder `Layout` zur Anzeige bei Klick auf „Version“
--- ---
@@ -94,6 +94,4 @@ Die Komponente informiert Nutzer über:
--- ---
---
[Zurück zur Übersicht](../../README.md) [Zurück zur Übersicht](../../README.md)

View File

@@ -2,7 +2,8 @@
# ⚙️ Konfigurationsübersicht (/config) # ⚙️ Konfigurationsübersicht (/config)
Dieses Verzeichnis enthält zentrale Konfigurationsdateien, die das Verhalten der gesamten App steuern. Dieses Verzeichnis enthält zentrale Konfigurationsdateien, die das Verhalten der gesamten App
steuern.
Hier sind die wichtigsten Dateien, ihre Aufgaben und Verlinkungen zur Dokumentation: Hier sind die wichtigsten Dateien, ihre Aufgaben und Verlinkungen zur Dokumentation:
--- ---
@@ -23,7 +24,7 @@ Hier sind die wichtigsten Dateien, ihre Aufgaben und Verlinkungen zur Dokumentat
## 📁 [`paths.js`](./paths.md) ## 📁 [`paths.js`](./paths.md)
- Berechnet den Basis-Pfad aus `.env.local` - Berechnet den Basis-Pfad aus `.env.production` oder `.env.development`
- Liefert `BASE_URL`, z.B. `/talas5` - Liefert `BASE_URL`, z.B. `/talas5`
--- ---

View File

@@ -11,7 +11,7 @@ Diese Datei enthält zentrale Konfigurationswerte, die abhängig von der Umgebun
## Ersetzungen von Umgebungsvariablen ## Ersetzungen von Umgebungsvariablen
Vorher wurden folgende `.env.local` Variablen verwendet: Vorher wurden folgende `.env.production` / `.env.development` Variablen verwendet:
- `NEXT_PUBLIC_BASE_URL` - `NEXT_PUBLIC_BASE_URL`
- `NEXT_PUBLIC_SERVER_URL` - `NEXT_PUBLIC_SERVER_URL`
@@ -46,7 +46,7 @@ const serverURL =
- `USE_MOCK_API`: aktiviert lokale Mock-Daten - `USE_MOCK_API`: aktiviert lokale Mock-Daten
- `serverURL`: Basis für Webservice-Aufrufe (`/talas5/...`) - `serverURL`: Basis für Webservice-Aufrufe (`/talas5/...`)
- `mapGisStationsStaticDistrictUrl`: komplette zusammengesetzte URL - `mapGisStationsStaticDistrictUrl`: komplette zusammengesetzte URL
- `useMockStationData`: true/false aus `.env.local` - `useMockStationData`: true/false aus `.env.production` / `.env.development`
--- ---

View File

@@ -2,7 +2,8 @@
# 📁 paths.js # 📁 paths.js
Berechnet den sauberen `BASE_URL`-Pfad basierend auf `.env.local → NEXT_PUBLIC_BASE_PATH`. Berechnet den sauberen `BASE_URL`-Pfad basierend auf `.env.production` oder
`.env.development → NEXT_PUBLIC_BASE_PATH`.
Entfernt führende und abschließende Slashes. Entfernt führende und abschließende Slashes.
## Beispiel ## Beispiel

View File

@@ -1,13 +1,13 @@
<!-- /docs/guide/env.md--> <!-- /docs/guide/env.md-->
# 🌐 Umgebungsvariablen (`.env.local` / `.env.production`) # 🌐 Umgebungsvariablen (`.env.production` / `.env.development`)
NodeMap verwendet Umgebungsvariablen zur Steuerung von API-Verhalten, Serverpfaden und Moduswahl NodeMap verwendet Umgebungsvariablen zur Steuerung von API-Verhalten, Serverpfaden und Moduswahl
(Mock oder Produktion). (Mock oder Produktion).
## 📂 Speicherort ## 📂 Speicherort
- **Lokal**: `.env.local` (für Entwicklung) - **Entwicklung**: `.env.development`
- **Produktion**: `.env.production` (für `npm run build` & `npm start`) - **Produktion**: `.env.production` (für `npm run build` & `npm start`)
## 🔧 Wichtige Variablen ## 🔧 Wichtige Variablen
@@ -38,6 +38,20 @@ NEXT_PUBLIC_BASE_PATH=/talas5
NEXT_PUBLIC_DEBUG=false NEXT_PUBLIC_DEBUG=false
``` ```
## 📦 Beispiel `.env.development`
```env
DB_HOST=localhost
DB_PORT=3306
DB_NAME=talas
DB_USER=root
DB_PASSWORD=geheim
NEXT_PUBLIC_API_PORT_MODE=dev
NEXT_PUBLIC_USE_MOCKS=true
NEXT_PUBLIC_BASE_PATH=/talas5
NEXT_PUBLIC_DEBUG=true
```
--- ---
[Zurück zur Übersicht](../README.md) [Zurück zur Übersicht](../README.md)

View File

@@ -30,7 +30,7 @@
### 🔹 Wie kann ich die Karte lokal testen, ohne Backend? ### 🔹 Wie kann ich die Karte lokal testen, ohne Backend?
- Setze in `.env.local` die Variable `NEXT_PUBLIC_USE_MOCKS=true`. - Setze in `.env.development` die Variable `NEXT_PUBLIC_USE_MOCKS=true`.
- Starte mit `npm run dev`. - Starte mit `npm run dev`.
- Die App lädt jetzt Mockdaten aus `/mockData/`. - Die App lädt jetzt Mockdaten aus `/mockData/`.

View File

@@ -21,7 +21,8 @@ Mockdaten werden aktiviert durch folgende Umgebungsvariable:
NEXT_PUBLIC_USE_MOCKS=true NEXT_PUBLIC_USE_MOCKS=true
``` ```
Diese Variable wird in `.env.local` gesetzt und **nicht** für die Produktionsumgebung verwendet. Diese Variable wird in `.env.development` gesetzt und **nicht** für die Produktionsumgebung
verwendet.
Im Produktivbetrieb steht: Im Produktivbetrieb steht:
```env ```env

View File

@@ -21,7 +21,7 @@ Projekt.
☐ Erledigt ☐ Erledigt
3. **`.env.local` anlegen** 3. **`.env.development` anlegen**
_Siehe [env.md](docs/guide/env.md) für Details._ _Siehe [env.md](docs/guide/env.md) für Details._
☐ Erledigt ☐ Erledigt

View File

@@ -33,8 +33,7 @@ components/ → UI-Komponenten inkl. Karte und Layer-Control-Panel (`MapLaye
┃ ┗ 📜VersionInfoModal.js ┃ ┗ 📜VersionInfoModal.js
┗ 📜TestScript.js ┗ 📜TestScript.js
config/ → zentrale Variablen (.env.development, .env.production)
config/ → zentrale Variablen (.env.local)
hooks/ → eigene React-Hooks hooks/ → eigene React-Hooks

View File

@@ -31,7 +31,7 @@ NEXT_PUBLIC_USE_MOCKS=true
- **Umgebungsvariablen lokal definieren:** - **Umgebungsvariablen lokal definieren:**
Datei `.env.local` mit Inhalten wie: Datei `.env.development` mit Inhalten wie:
``` ```
NEXT_PUBLIC_API_URL=http://localhost:3001 NEXT_PUBLIC_API_URL=http://localhost:3001

View File

@@ -49,11 +49,11 @@ const mode = process.env.NEXT_PUBLIC_API_PORT_MODE;
const baseUrl = const baseUrl =
mode === "dev" mode === "dev"
? \`\${window.location.protocol}//\${window.location.hostname}:80/talas5/\` ? `${window.location.protocol}//${window.location.hostname}:80/talas5/`
: \`\${window.location.origin}/talas5/\`; : `${window.location.origin}/talas5/`;
``` ```
➡ Dadurch wird verhindert, dass bei jeder Server-IP `.env.local` oder ein Build nötig ist. ➡ Dadurch wird verhindert, dass bei jeder Server-IP `.env.development` oder ein Build nötig ist.
--- ---

View File

@@ -13,7 +13,7 @@ Sie wird verwendet, um:
- Stützpunkte visuell als Marker anzuzeigen - Stützpunkte visuell als Marker anzuzeigen
- Marker kontextsensitiv mit Optionen (z.B. „Stützpunkt entfernen“, „Koordinaten anzeigen“) - Marker kontextsensitiv mit Optionen (z.B. „Stützpunkt entfernen“, „Koordinaten anzeigen“)
auszustatten auszustatten
- Linien aktualisieren und neue Koordinaten in die Datenbank schreiben - Linien zu aktualisieren und neue Koordinaten in die Datenbank zu schreiben
- Kontextmenü-Interaktionen zu ermöglichen - Kontextmenü-Interaktionen zu ermöglichen
--- ---
@@ -21,7 +21,7 @@ Sie wird verwendet, um:
## Besonderheiten ## Besonderheiten
- Marker mit speziellen Icons (Start, Ende, Zwischenpunkt) - Marker mit speziellen Icons (Start, Ende, Zwischenpunkt)
- Interaktivität abhängig vom Bearbeitungsmodus (editMode aus `localStorage`) - Interaktivität abhängig vom Bearbeitungsmodus (`editMode` aus `localStorage`)
- Kontextmenü pro Marker und Linie individuell steuerbar - Kontextmenü pro Marker und Linie individuell steuerbar
- API-Aufrufe zur Koordinaten-Aktualisierung: - API-Aufrufe zur Koordinaten-Aktualisierung:
`POST /api/talas_v5_DB/gisLines/updateLineCoordinates` `POST /api/talas_v5_DB/gisLines/updateLineCoordinates`
@@ -30,8 +30,9 @@ Sie wird verwendet, um:
## Dynamische URL mit Port-Steuerung ## Dynamische URL mit Port-Steuerung
Die Datei verwendet **keine feste API-Basis-URL** mehr aus `.env.local`. Die Datei verwendet **keine feste API-Basis-URL** mehr aus `.env.development` oder
Stattdessen wird `NEXT_PUBLIC_API_PORT_MODE` genutzt, um zwischen Entwicklungs- und `.env.production`.
Stattdessen wird `NEXT_PUBLIC_API_PORT_MODE` verwendet, um zwischen Entwicklungs- und
Produktionsumgebung zu unterscheiden: Produktionsumgebung zu unterscheiden:
```env ```env

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{ {
"name": "nodemap", "name": "nodemap",
"version": "1.1.285", "version": "1.1.286",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "nodemap", "name": "nodemap",
"version": "1.1.285", "version": "1.1.286",
"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.285", "version": "1.1.286",
"dependencies": { "dependencies": {
"@emotion/react": "^11.13.3", "@emotion/react": "^11.13.3",
"@emotion/styled": "^11.13.0", "@emotion/styled": "^11.13.0",