2.1 KiB
2.1 KiB
Android Technical Next Steps
Stand: 2026-05-14
OAuth
Ziel: Android soll Google OAuth direkt starten koennen, ohne WebView-Klon.
Empfohlener Ablauf:
- Backend bekommt einen Android-kompatiblen OAuth-Callback mit App-Link oder Custom-Scheme.
- Android startet den Google-Flow ueber Browser Custom Tabs.
- Callback oeffnet die App per Deep Link, z.B.
timeclock://oauth-callback?token=.... - App speichert JWT im bestehenden
TokenStoreund laedt/auth/me. - Fehlerfaelle: abgebrochener Login, abgelaufener Token, fehlender Account, Offline.
Technische Punkte:
- Redirect-URI muss in Google Console und Backend konfiguriert werden.
- Token darf nicht in Logs erscheinen.
- Der bestehende E-Mail/Passwort-Login bleibt Fallback.
Offline-Stempeln
Umgesetzt als Grundfunktion:
- Netzwerkfehler bei
clock(action)speichern die Aktion lokal inOfflineClockQueue. - Beim naechsten erfolgreichen Dashboard-Refresh werden gespeicherte Aktionen in Reihenfolge synchronisiert.
Noch offen fuer produktionsreife Offline-Funktion:
- UI-Hinweis mit Anzahl ausstehender Aktionen.
- Konfliktbehandlung, falls der Serverzustand nicht mehr zur Aktionsfolge passt.
- Persistente Audit-Anzeige fuer synchronisierte/fehlgeschlagene Offline-Aktionen.
- Tests mit simulierten Netzwerkfehlern und Wiederverbindung.
Smartphone/Tablet UI-Feinschliff
Pruefpunkte mit echten Backend-Daten:
- Smartphone: Bottom-Navigation + Submenue fuer Buchungen, Einstellungen, Auswertung und Verwaltung.
- Tablet: linkes Section-Menue, Detailbereiche und breite Listen.
- Lange Namen/E-Mail-Adressen duerfen keine Buttons oder Zeilen sprengen.
- Admin-Listen mit vielen Benutzern/Feiertagen muessen scrollbar bleiben.
Phase 8 Teststrategie
Erste lokale Tests sind angelegt fuer:
- API-Serialisierung wichtiger Backend-Responses.
- Gehashte IDs als Strings auf geschuetzten Endpunkten.
- Offline-Queue-Serialisierung.
Weitere sinnvolle Tests:
- Repository-Tests mit fake API-Schicht.
- ViewModel-Tests fuer Login, Stempeln, Offline-Queue und Rollenwechsel.
- Compose-Screenshot-Checks fuer Smartphone und Tablet.