77 lines
1.8 KiB
Markdown
77 lines
1.8 KiB
Markdown
# 🧪 Mockdaten-Modus (`NEXT_PUBLIC_USE_MOCKS=true`)
|
|
|
|
Dieses Projekt unterstützt einen optionalen **Mockdaten-Modus**, um Entwicklung und Tests ohne
|
|
Backend/Webservice durchzuführen.
|
|
|
|
---
|
|
|
|
## 🔍 Zweck & Nutzen
|
|
|
|
- Schneller Entwicklungsstart ohne aktive Serververbindung
|
|
- Stabilere Testszenarien mit festen JSON-Daten
|
|
- Vollständige Isolation von Backend-Fehlern während der UI-Entwicklung
|
|
|
|
---
|
|
|
|
## ⚙️ Aktivierung
|
|
|
|
Mockdaten werden aktiviert durch folgende Umgebungsvariable:
|
|
|
|
```env
|
|
NEXT_PUBLIC_USE_MOCKS=true
|
|
```
|
|
|
|
Diese Variable wird in `.env.local` gesetzt und **nicht** für die Produktionsumgebung verwendet.
|
|
Im Produktivbetrieb steht:
|
|
|
|
```env
|
|
NEXT_PUBLIC_USE_MOCKS=false
|
|
```
|
|
|
|
---
|
|
|
|
## 🧩 Funktionsweise
|
|
|
|
Wenn `NEXT_PUBLIC_USE_MOCKS=true` gesetzt ist:
|
|
|
|
- Statt realer Webservices werden Endpunkte unter `/pages/api/mocks/webservice/*.js` aufgerufen
|
|
- Diese geben vorbereitete JSON-Dateien unter `/mockData/*.json` zurück
|
|
|
|
---
|
|
|
|
## 📂 Beispiel-Aufruf im Mockmodus
|
|
|
|
```ts
|
|
// Beispiel aus fetchGisSystemStaticService.js
|
|
const url = useMocks
|
|
? "/api/mocks/webservice/GisSystemStatic"
|
|
: `${apiUrl}/WebServiceMap.asmx/GisSystemStatic`;
|
|
```
|
|
|
|
---
|
|
|
|
## 🛡️ Sicherheit & Versionskontrolle
|
|
|
|
- Alle `.json`-Dateien im Ordner `/mockData/` sind über `.gitignore` vom Repository ausgeschlossen
|
|
- So wird verhindert, dass versehentlich sensible Testdaten veröffentlicht werden
|
|
|
|
---
|
|
|
|
## 💡 Hinweise
|
|
|
|
- Mockdaten sollen nur die wichtigsten API-Schnittstellen simulieren
|
|
- Bei Änderungen am Datenmodell sollten auch die Mockdaten aktualisiert werden
|
|
- Eine zentrale Thunk- & Service-Logik entscheidet automatisch, ob `mock` oder `real`
|
|
|
|
---
|
|
|
|
## 🔗 Weitere Informationen
|
|
|
|
- [📄 Umgebungsvariablen](env.md)
|
|
- [📄 Webservices im Detail](webservices.md)
|
|
- [📄 Zustandverwaltung (Redux)](redux-zustand.md)
|
|
|
|
---
|
|
|
|
[Zurück zur Übersicht](../README.md)
|