Optymalizacja GBOX, panel Czas pracy — nowe kolumny, auto-logout
Filip Borkowski, Backend/Frontend/Fullstack Engineer
Optymalizacja GBOX API
Panel Czas pracy pobierał do tej pory 14 dni historii tachografu przy każdym odświeżeniu — nawet do 16 000 rekordów co 5 minut. Wprowadziliśmy podział na dwa źródła danych:
- GBOX live — tylko dane z bieżącego dnia (od północy). Dane zapisywane do Supabase w tle.
- Supabase history — nowy endpoint
/api/gbox/historyczyta dane historyczne z bazy bez requestów do GBOX.
Dodatkowe optymalizacje:
/api/gbox/positions— cache 30 sekund (GPS odświeża się co ~30s)/api/gbox/positions/history— cache 10 min dla dzisiaj, 1h dla poprzednich dni/api/gbox/drivers— trzypoziomowy cache: memory (1h) → Supabasegbox_drivers→ GBOX fallback. Eliminuje 200 równoległych requestów przy każdym wywołaniu.
Panel Czas pracy — nowe kolumny
Tabela kierowców wzbogacona o kolumny planistyczne:
- Może pracować - dzień — ile godzin pozostało w dobowym limicie 8h
- Może pracować - tydzień — ile godzin pozostało w tygodniowym limicie 48h
- Poprz. tyg. jazda — czas jazdy w poprzednim tygodniu (z Supabase, cache 1h)
Zmiana etykiet: "Jazda" → "Suma jazda tydzień", "Suma" → "Suma praca tydzień". Ujednolicona czcionka Open Sans z rozmiarem text-xs w całej tabeli.
Automatyczne wylogowanie po bezczynności
Po 25 minutach braku aktywności pojawia się dialog z odliczaniem 5 minut. Po upływie czasu sesja kończy się automatycznie. Aktywność śledzona przez mysz, klawiaturę i dotyk.
Inne poprawki
- Sidebar: Dashboard podświetlony tylko na
/dashboard - Widget "Aktywność biura": status online z
user_presence(heartbeat co 30s)