mirror of
https://github.com/s-frick/effigenix.git
synced 2026-03-28 08:29:36 +01:00
| .. | ||
| src | ||
| src-tauri | ||
| index.html | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| vite.config.ts | ||
Effigenix Scanner
Tauri v2 Mobile App mit QR/Barcode-Scanner für Lager- und Produktionsworkflows.
Voraussetzungen
- Nix DevShell aktiv (
nix develop) - Backend läuft unter
http://localhost:8080
Desktop-Entwicklung
just dev-scanner
Android-Gerät
1. USB-Debugging aktivieren
Auf dem Android-Gerät unter Einstellungen > Entwickleroptionen > USB-Debugging aktivieren. Gerät per USB anschließen und Verbindung prüfen:
adb devices
2. NixOS-Firewall öffnen
Die DevShell kann Ports 1420 (Vite) und 1421 (HMR) automatisch in der NixOS-Firewall freischalten. Dazu die Shell mit gesetzter Env-Variable betreten:
EFFIGENIX_OPEN_FW=1 nix develop
Oder manuell:
sudo iptables -I nixos-fw 3 -p tcp --dport 1420 -j ACCEPT
sudo iptables -I nixos-fw 3 -p tcp --dport 1421 -j ACCEPT
Prüfen ob die Regeln aktiv sind:
sudo iptables -L nixos-fw -n | grep -E '1420|1421'
3. App starten
TAURI_DEV_HOST=<LAN-IP> VITE_API_URL=http://<LAN-IP>:8080 just dev-scanner-android
Beispiel:
TAURI_DEV_HOST=192.168.0.166 VITE_API_URL=http://192.168.0.166:8080 just dev-scanner-android
TAURI_DEV_HOST– teilt dem Android-Gerät mit, wo der Vite-Dev-Server läuftVITE_API_URL– Backend-URL für API-Requests (Default:http://localhost:8080)
Troubleshooting
| Problem | Lösung |
|---|---|
INSTALL_FAILED_UPDATE_INCOMPATIBLE |
Alte App deinstallieren: adb uninstall de.effigenix.scanner |
error sending request for url auf Port 1420 |
Firewall-Ports nicht offen (siehe Schritt 2) |
| API-Requests schlagen fehl | VITE_API_URL auf LAN-IP setzen, Port 8080 in Firewall freigeben |
| Gerät nicht erkannt | adb devices prüfen, USB-Debugging aktiviert? |
Tech Stack
| Tool | Zweck |
|---|---|
| Tauri v2 | Native Mobile Shell |
| React 18 | UI Framework |
| Tailwind v4 | Styling |
| Vite 6 | Build/Dev Server |
| tauri-plugin-barcode-scanner | QR/Barcode-Scanning |
| tauri-plugin-http | HTTP-Requests (CORS-Bypass) |