diff --git a/.env.development b/.env.development index 52a11fef2..f4686987b 100644 --- a/.env.development +++ b/.env.development @@ -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.285 +NEXT_PUBLIC_APP_VERSION=1.1.286 diff --git a/.env.production b/.env.production index 2f656f136..52d043b4f 100644 --- a/.env.production +++ b/.env.production @@ -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.285 \ No newline at end of file +NEXT_PUBLIC_APP_VERSION=1.1.286 \ No newline at end of file diff --git a/add-footer.ps1 b/add-footer.ps1 deleted file mode 100644 index 751d94c13..000000000 --- a/add-footer.ps1 +++ /dev/null @@ -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)" - } -} diff --git a/docs/README.md b/docs/README.md index a0a1534fe..1a2dd4e3f 100644 --- a/docs/README.md +++ b/docs/README.md @@ -128,7 +128,8 @@ Die komplette Anwendung verwendet Redux zur globalen Zustandverwaltung. 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/...` - Hinweise im UI zeigen aktivierten Mockmodus diff --git a/docs/architecture.md b/docs/architecture.md index d3fceb17d..878c5c2f2 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -85,9 +85,15 @@ sequenceDiagram ## 🧩 Besonderheiten +- **Konfigurierbarer basePath:** - **Konfigurierbarer basePath:** - Pfad wie `/talas5` ist optional und kann per `NEXT_PUBLIC_BASE_PATH` in `.env.local` gesetzt - werden. + Pfad wie `/talas5` ist optional und kann per Umgebungsvariable `NEXT_PUBLIC_BASE_PATH` gesetzt + werden. + Die Konfiguration erfolgt je nach Umgebung über: + + - `.env.development` für lokale Entwicklung + - `.env.production` für produktiven Einsatz + - **Rechteabhängige UI:** Funktionen (z. B. POI bearbeiten) basieren auf Benutzerrechten (`IdRight`) vom Server. - **Zentrale Komponentensteuerung:** diff --git a/docs/build-and-deploy.md b/docs/build-and-deploy.md index bdc37a9b5..cf251c8c1 100644 --- a/docs/build-and-deploy.md +++ b/docs/build-and-deploy.md @@ -10,14 +10,15 @@ Ziel: Klarheit für Onboarding, Deployment-ZIP-Erstellung oder CI/CD. ## 📦 Wird beim `npm run build` in `.next/` gespeichert -| Inhalt | Beschreibung | -| ---------------------- | -------------------------------------------------- | -| Kompilierte Seiten | Alle unter `/pages/` | -| API-Routen | Alles aus `pages/api/` | -| Assets aus `public/` | Werden im Build nicht verändert, aber ausgeliefert | -| CSS-Dateien (Tailwind) | Werden gebundelt und minimiert | -| `.env.local` | Wird eingelesen, aber nicht exportiert | -| JS/TS-Quellcode | Wird zu Client- und Server-Bundles kompiliert | +| Inhalt | Beschreibung | +| -------------------------------------- | ------------------------------------------------------------------------ | +| Kompilierte Seiten | Alle unter `/pages/` | +| API-Routen | Alles aus `pages/api/` | +| Assets aus `public/` | Werden im Build nicht verändert, aber ausgeliefert | +| CSS-Dateien (Tailwind) | Werden gebundelt und minimiert | +| `.env.production` / `.env.development` | Umgebungsabhängige Konfiguration. Wird eingelesen, aber nicht exportiert | + +| JS/TS-Quellcode | Wird zu Client- und Server-Bundles kompiliert | --- @@ -43,7 +44,7 @@ Nur folgende Dateien/Ordner übertragen: public/ package.json package-lock.json -.env.local +.env.production ``` --- diff --git a/docs/checklist.md b/docs/checklist.md index bb15efd8c..77a6d4759 100644 --- a/docs/checklist.md +++ b/docs/checklist.md @@ -19,8 +19,8 @@ Bevor du einen Feature-, Refactor- oder Bugfix-Commit abschließt, geh diese Lis ## 📦 Konfiguration -- [ ] Ist `.env.local` aktuell und vollständig (für Entwickler/Testserver)? -- [ ] Wird jede Konfiguration ausschließlich über `.env.local` gesteuert? +- [ ] Sind `.env.production` und `.env.development` aktuell und vollständig? +- [ ] Wird jede Konfiguration **ausschließlich über `.env.*` Dateien** gesteuert? --- diff --git a/docs/components/uiWidgets/VersionInfoModal.md b/docs/components/uiWidgets/VersionInfoModal.md index 8e40b13f2..3f6760841 100644 --- a/docs/components/uiWidgets/VersionInfoModal.md +++ b/docs/components/uiWidgets/VersionInfoModal.md @@ -29,11 +29,11 @@ Die Komponente informiert Nutzer über: ## ⚙️ Props -| Prop | Typ | Beschreibung | -| ----------------------- | ---------- | -------------------------------------------------------------- | -| `showVersionInfoModal` | `boolean` | Steuert, ob das Modal angezeigt wird | -| `closeVersionInfoModal` | `function` | Callback zum Schließen des Modals | -| `APP_VERSION` | `string` | Versionstext (z. B. `1.1.188`), meist aus `.env.local` geladen | +| Prop | Typ | Beschreibung | +| ----------------------- | ---------- | ------------------------------------------------------------------------------------------- | +| `showVersionInfoModal` | `boolean` | Steuert, ob das Modal angezeigt wird | +| `closeVersionInfoModal` | `function` | Callback zum Schließen des Modals | +| `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 -- `.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“ --- @@ -94,6 +94,4 @@ Die Komponente informiert Nutzer über: --- ---- - [Zurück zur Übersicht](../../README.md) diff --git a/docs/config/README.md b/docs/config/README.md index 92b772c2f..3f38b93cb 100644 --- a/docs/config/README.md +++ b/docs/config/README.md @@ -2,7 +2,8 @@ # ⚙️ 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: --- @@ -23,7 +24,7 @@ Hier sind die wichtigsten Dateien, ihre Aufgaben und Verlinkungen zur Dokumentat ## 📁 [`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` --- diff --git a/docs/config/config.md b/docs/config/config.md index 7c74cb5d6..4adf59563 100644 --- a/docs/config/config.md +++ b/docs/config/config.md @@ -11,7 +11,7 @@ Diese Datei enthält zentrale Konfigurationswerte, die abhängig von der Umgebun ## 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_SERVER_URL` @@ -46,7 +46,7 @@ const serverURL = - `USE_MOCK_API`: aktiviert lokale Mock-Daten - `serverURL`: Basis für Webservice-Aufrufe (`/talas5/...`) - `mapGisStationsStaticDistrictUrl`: komplette zusammengesetzte URL -- `useMockStationData`: true/false aus `.env.local` +- `useMockStationData`: true/false aus `.env.production` / `.env.development` --- diff --git a/docs/config/paths.md b/docs/config/paths.md index 678dc3c68..9d917df54 100644 --- a/docs/config/paths.md +++ b/docs/config/paths.md @@ -2,7 +2,8 @@ # 📁 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. ## Beispiel diff --git a/docs/guide/env.md b/docs/guide/env.md index 57a37c96b..b70b41321 100644 --- a/docs/guide/env.md +++ b/docs/guide/env.md @@ -1,13 +1,13 @@ -# 🌐 Umgebungsvariablen (`.env.local` / `.env.production`) +# 🌐 Umgebungsvariablen (`.env.production` / `.env.development`) NodeMap verwendet Umgebungsvariablen zur Steuerung von API-Verhalten, Serverpfaden und Moduswahl (Mock oder Produktion). ## 📂 Speicherort -- **Lokal**: `.env.local` (für Entwicklung) +- **Entwicklung**: `.env.development` - **Produktion**: `.env.production` (für `npm run build` & `npm start`) ## 🔧 Wichtige Variablen @@ -38,6 +38,20 @@ NEXT_PUBLIC_BASE_PATH=/talas5 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) diff --git a/docs/guide/faq.md b/docs/guide/faq.md index 6b2fc21df..e739cbbdb 100644 --- a/docs/guide/faq.md +++ b/docs/guide/faq.md @@ -30,7 +30,7 @@ ### 🔹 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`. - Die App lädt jetzt Mockdaten aus `/mockData/`. diff --git a/docs/guide/mock-data.md b/docs/guide/mock-data.md index d22035630..927c9a309 100644 --- a/docs/guide/mock-data.md +++ b/docs/guide/mock-data.md @@ -21,7 +21,8 @@ Mockdaten werden aktiviert durch folgende Umgebungsvariable: 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: ```env diff --git a/docs/guide/onboarding-checklist.md b/docs/guide/onboarding-checklist.md index 58c992ae5..69f32899f 100644 --- a/docs/guide/onboarding-checklist.md +++ b/docs/guide/onboarding-checklist.md @@ -21,7 +21,7 @@ Projekt. ☐ Erledigt -3. **`.env.local` anlegen** +3. **`.env.development` anlegen** _Siehe [env.md](docs/guide/env.md) für Details._ ☐ Erledigt diff --git a/docs/guide/project-structure.md b/docs/guide/project-structure.md index 9aed1d047..6dcf67bff 100644 --- a/docs/guide/project-structure.md +++ b/docs/guide/project-structure.md @@ -33,8 +33,7 @@ components/ → UI-Komponenten inkl. Karte und Layer-Control-Panel (`MapLaye ┃ ┗ 📜VersionInfoModal.js ┗ 📜TestScript.js - -config/ → zentrale Variablen (.env.local) +config/ → zentrale Variablen (.env.development, .env.production) hooks/ → eigene React-Hooks diff --git a/docs/guide/setup-dev.md b/docs/guide/setup-dev.md index f6adc7cb1..fa43873bd 100644 --- a/docs/guide/setup-dev.md +++ b/docs/guide/setup-dev.md @@ -31,7 +31,7 @@ NEXT_PUBLIC_USE_MOCKS=true - **Umgebungsvariablen lokal definieren:** -Datei `.env.local` mit Inhalten wie: +Datei `.env.development` mit Inhalten wie: ``` NEXT_PUBLIC_API_URL=http://localhost:3001 diff --git a/docs/utils/devices/createAndSetDevices.md b/docs/utils/devices/createAndSetDevices.md index 1fb1f6d57..04a426921 100644 --- a/docs/utils/devices/createAndSetDevices.md +++ b/docs/utils/devices/createAndSetDevices.md @@ -49,11 +49,11 @@ const mode = process.env.NEXT_PUBLIC_API_PORT_MODE; const baseUrl = mode === "dev" - ? \`\${window.location.protocol}//\${window.location.hostname}:80/talas5/\` - : \`\${window.location.origin}/talas5/\`; + ? `${window.location.protocol}//${window.location.hostname}:80/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. --- diff --git a/docs/utils/polylines/setupPolylines.md b/docs/utils/polylines/setupPolylines.md index e8dc4a71f..5bf5b0ec2 100644 --- a/docs/utils/polylines/setupPolylines.md +++ b/docs/utils/polylines/setupPolylines.md @@ -13,7 +13,7 @@ Sie wird verwendet, um: - Stützpunkte visuell als Marker anzuzeigen - Marker kontextsensitiv mit Optionen (z. B. „Stützpunkt entfernen“, „Koordinaten anzeigen“) 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 --- @@ -21,7 +21,7 @@ Sie wird verwendet, um: ## Besonderheiten - 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 - API-Aufrufe zur Koordinaten-Aktualisierung: `POST /api/talas_v5_DB/gisLines/updateLineCoordinates` @@ -30,8 +30,9 @@ Sie wird verwendet, um: ## Dynamische URL mit Port-Steuerung -Die Datei verwendet **keine feste API-Basis-URL** mehr aus `.env.local`. -Stattdessen wird `NEXT_PUBLIC_API_PORT_MODE` genutzt, um zwischen Entwicklungs- und +Die Datei verwendet **keine feste API-Basis-URL** mehr aus `.env.development` oder +`.env.production`. +Stattdessen wird `NEXT_PUBLIC_API_PORT_MODE` verwendet, um zwischen Entwicklungs- und Produktionsumgebung zu unterscheiden: ```env diff --git a/package-lock.json b/package-lock.json index 5931c5e6c..2097530ae 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "nodemap", - "version": "1.1.285", + "version": "1.1.286", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "nodemap", - "version": "1.1.285", + "version": "1.1.286", "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", diff --git a/package.json b/package.json index 45bc4853b..c749bfb7f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nodemap", - "version": "1.1.285", + "version": "1.1.286", "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0",