# Karch Objektservice – eigenständige App (Port 3020)

Das Objekt-Dashboard aus dem Prototyp als eigene Web-App: **eigene Adresse,
eigene Datenbank, eigenes Login** – komplett getrennt vom Betriebs-Dashboard
(Port 3010). Startseite mit drei Bereichen wie im Prototyp: **Admin/Büro**
(Dashboard), **Mitarbeiter** (QR-Stempeln) und **Kunde** (Leistungsnachweis).

## 1. Hochladen (WinSCP)

Den kompletten Ordner `objektservice` (aus `Dokumente\systemverwaltung`)
nach `/var/www/html/` ziehen, sodass es so aussieht:

```
/var/www/html/objektservice/
├── server.js
├── install.sh
├── objektservice.service
└── public/
    ├── index.html
    └── einsatz.html
```

## 2. Einmalig einrichten (PuTTY, als root)

```
cd /var/www/html/objektservice
bash install.sh
```

## 3. Aufrufen

- **Dashboard (Büro):** http://dev2.karch-service.de:3020
- **Scan-Seite:** http://dev2.karch-service.de:3020/einsatz.html
  (QR-Aufkleber zeigen automatisch auf diese Adresse – im Dashboard
  unter „Kunden & Objekte" drucken)

Falls die Seite nicht erreichbar ist: `ufw allow 3020` (bzw. Port in der
Firewall des Anbieters freigeben).

## 4. Start-Zugänge (SOFORT ÄNDERN!)

| Wer | Zugang |
|---|---|
| Dominik (Admin) | Passwort `dominik2026` |
| Christian (Admin) | Passwort `christian2026` |
| Helena (Büro) | Passwort `helena2026` |
| Selina (Büro) | Passwort `selina2026` |
| Kolonne | PINs 2101–2108 (Gutgesell, Reith, Schneider, Czyzewski, Bielecki, Bogdan, Melzer, Wirth) |
| Kunden | je Objekt, Startwert `postbau2026` |

Passwörter ändern: im Dashboard unter **Passwörter**. PINs: unter
**Kolonne & PINs**. Kunden-Passwörter: je Objekt unter **Kunden & Objekte**.

## 5. Startdaten

Beim ersten Start angelegt: die 9 Kunden(-Ordner) – Bauverein SW eG 10036,
Blanko, Hammelburg Omett, Hammelburg Rest, Majo, Postbaugenossenschaft 10038,
Privat SW, SWG, Wirth&sachs – sowie die 13 Postbau-Straßen und die Kolonne.
Weitere Straßen: je Kunde anlegen oder unter „Import & Export" die
Kalkulations-Excel einlesen (Ziel-Kunde wählbar).

## 6. Betrieb

```
systemctl status objektservice      # Läuft die App?
systemctl restart objektservice     # Neustart (z. B. nach Update)
journalctl -u objektservice -n 50   # Log ansehen
```

- Daten: `data/db.json` (automatisches tägliches Backup, 21 Tage) ·
  Fotos: `data/fotos/` – den ganzen `data`-Ordner regelmäßig extern sichern.
- Update: neue Dateien per WinSCP ersetzen → `systemctl restart objektservice`.
  Daten bleiben erhalten.
- **GPS braucht HTTPS:** über `http://…:3020` speichern Handys keinen Standort
  (Browser-Sicherheitsregel). Für GPS + saubere Adresse später eine
  HTTPS-Subdomain einrichten (nginx + Let's Encrypt) – sagt Bescheid.
- Datenschutz: Zeiterfassung (ggf. mit GPS) = Mitarbeiterdaten → Team vorab
  informieren. Kunden sehen keine Mitarbeiternamen.

## Hinweis

Die Objektservice-Module im Betriebs-Dashboard (Port 3010) bleiben bestehen,
haben aber eine **eigene, getrennte Datenbank**. Was hier erfasst wird,
erscheint dort nicht (und umgekehrt). Empfehlung: für Objekte/Zeiten nur
noch eines der beiden Systeme verwenden, damit nichts doppelt läuft.
