Update .gitignore to exclude Android/Gradle files and enhance TimeEntryController and TimefixService for better error handling and performance. Refactor frontend components to use AppBrand for consistent branding across views.
This commit is contained in:
58
ANDROID_TECHNICAL_NEXT_STEPS.md
Normal file
58
ANDROID_TECHNICAL_NEXT_STEPS.md
Normal file
@@ -0,0 +1,58 @@
|
||||
# Android Technical Next Steps
|
||||
|
||||
Stand: 2026-05-14
|
||||
|
||||
## OAuth
|
||||
|
||||
Ziel: Android soll Google OAuth direkt starten koennen, ohne WebView-Klon.
|
||||
|
||||
Empfohlener Ablauf:
|
||||
|
||||
1. Backend bekommt einen Android-kompatiblen OAuth-Callback mit App-Link oder Custom-Scheme.
|
||||
2. Android startet den Google-Flow ueber Browser Custom Tabs.
|
||||
3. Callback oeffnet die App per Deep Link, z.B. `timeclock://oauth-callback?token=...`.
|
||||
4. App speichert JWT im bestehenden `TokenStore` und laedt `/auth/me`.
|
||||
5. 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 in `OfflineClockQueue`.
|
||||
- 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.
|
||||
Reference in New Issue
Block a user