Some checks failed
Build APK / build-apk (push) Failing after 11m29s
SvelteKit + Capacitor 6 Netzwerk-Diagnose-App: - Tool-Plattform (IP-Scan, Port, Ping, WLAN, DHCP, SNMP, Traceroute, Stresstest, iperf) - Offline-First SQLite-Cache + idempotenter Dolibarr-Sync - Natives Kotlin-Plugin NetDiagScanner (ARP, Ping, Ports, WLAN, DHCP, SNMP, Traceroute) - Backbutton-Single-Instance-Modul, Auto-Updater, Toast-System - Auftrags-/Kunden-Übersicht nach Baustellen-App-Muster - CI: [apk]-Tag → Forgejo Runner → Package Registry netdiag-apk Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
73 lines
2.7 KiB
Markdown
73 lines
2.7 KiB
Markdown
# NetDiag — Diagnose-App (Android)
|
|
|
|
Mobile Netzwerk-Diagnose-App. Erfasst vor Ort beim Kunden (Handy am WLAN oder
|
|
USB-C→RJ45-Adapter) Geräte, Ports und Messungen und hängt die Protokolle ans
|
|
Dolibarr-Modul `netdiag` an Kunde und Auftrag.
|
|
|
|
## Stack
|
|
|
|
SvelteKit 2 · Svelte 5 · Tailwind 4 · Vite 7 · Capacitor 6 · SQLite-Offline
|
|
|
|
## Entwicklung (Browser)
|
|
|
|
```bash
|
|
npm install
|
|
npm run dev # http://localhost:5175
|
|
```
|
|
|
|
Im Browser liefert ein **Mock** (`src/lib/scanner.ts`) Beispiel-Scandaten — die
|
|
Oberfläche lässt sich ohne Gerät entwickeln. API-Aufrufe gehen über den
|
|
Vite-Proxy an den Dolibarr-Testserver (`192.168.155.11`, siehe `vite.config.ts`).
|
|
|
|
## Android-Build
|
|
|
|
```bash
|
|
npm run build
|
|
npx cap add android # einmalig
|
|
# native-plugin/ einbinden -> siehe native-plugin/README.md
|
|
npx cap sync android
|
|
npx cap open android
|
|
```
|
|
|
|
Release-APK über CI: Commit mit `[apk]` in der Message → Forgejo baut und lädt
|
|
die APK in die Package Registry (`netdiag-apk`). Siehe `.forgejo/workflows/build.yml`.
|
|
|
|
## Architektur
|
|
|
|
```
|
|
src/lib/
|
|
api.ts JSON-API-Client (JWT, 401-Refresh, Timeout)
|
|
auth.svelte.ts Anmelde-Status
|
|
db.ts Offline-Speicher (SQLite nativ / localStorage Browser)
|
|
sync.svelte.ts Sync-Queue -> Dolibarr (idempotent über clientUuid)
|
|
scanner.ts Brücke zum nativen Plugin (+ Browser-Mock)
|
|
backButton.svelte.ts Hardware-Back (Single-Instance, KB #480/#549)
|
|
updater.ts APK-Auto-Update-Prüfung (KB #363)
|
|
tools/ erweiterbare Tool-Plattform
|
|
index.ts Registry — neues Tool hier eintragen
|
|
netzwerk/ IP-Scan, Port, Ping, WLAN, DHCP, SNMP, Traceroute, Stress
|
|
internet/ Durchsatz-Test
|
|
telefonie/ (folgt: SIP, FreePBX, RTP)
|
|
src/routes/
|
|
login/ auftraege/ kunden/ protokoll/[id]/ einstellungen/
|
|
native-plugin/ Kotlin-Plugin NetDiagScanner (+ Integrationsanleitung)
|
|
```
|
|
|
|
## Neues Tool hinzufügen
|
|
|
|
1. Datei unter `src/lib/tools/<kategorie>/<id>.ts` anlegen, `Tool` implementieren.
|
|
2. In `src/lib/tools/index.ts` importieren und in `TOOLS` eintragen.
|
|
|
|
Kein Eingriff in App-Logik, Sync oder Datenbank — das Ergebnis ist generisches
|
|
JSON. Braucht das Tool eine neue native Messroutine, eine Methode im
|
|
Kotlin-Plugin ergänzen.
|
|
|
|
## Bedienung
|
|
|
|
1. **Anmelden** (Dolibarr-Zugang; auf dem Gerät zusätzlich Server-URL).
|
|
2. **Aufträge** — aktive direkt sichtbar, abgeschlossene per Checkbox, Suche.
|
|
Alternativ über **Kunden** suchen.
|
|
3. Auftrag/Kunde antippen → Diagnose-Protokoll öffnet sich.
|
|
4. **Werkzeuge** ausführen (IP-Scan füllt die Geräteliste, je Gerät weitere Tools).
|
|
5. **Abschließen & synchronisieren** — Protokoll geht ans Dolibarr, PDF landet
|
|
im ECM. Offline bleibt es lokal und synct automatisch bei Verbindung.
|