Przejdź do treści

PWA dla pracowników i kierowników

Cel

PWA jest prostym, instalowalnym interfejsem do zadań terenowych i decyzji kierowniczych. Ma działać na zwykłym telefonie, także przy przerwanym internecie, bez udawania zaufanego workera. Telefon rejestruje zdarzenia, wyświetla stan i przekazuje decyzje do Control Plane; ciężkie modele, adaptery i bazy pozostają lokalnie na serwerze/workerach.

Wspólna karta modułu

Pole Kontrakt
Odpowiedzialności uwierzytelnienie, role, cache offline, synchronizacja, push, formularze, zdjęcia, decyzje i receipt UI.
Wejścia assigned jobs, formularze, zdjęcia/skany, lokalizacja za zgodą, podpis, komentarz, approval decision.
Wyjścia eventy, artifact uploads, status, request zmiany, decyzja operatora i potwierdzenie synchronizacji.
Zależności PWA gateway, identity, Artifact Store, workflow API, push provider lub lokalne powiadomienia.
Uprawnienia per użytkownik/rola/projekt; brak worker IPC, DB i sekretów usług.
Autonomia walidacja formularza, kolejka offline, przypomnienia; brak cichej decyzji za człowieka.
Walidacja device/session revoke, offline conflicts, cross-user isolation, cache policy, accessibility, 320 px.
Awaria tryb offline z datą świeżości, durable local queue, bezpieczne logout/wipe i ręczne rozstrzygnięcie konfliktu.

PWA pracownika

Ekrany: Dzisiaj, Zlecenia, Grafik, Nieobecności, Skanuj, Wiadomości, Profil. Pracownik widzi tylko przypisane zadania i dane konieczne do wykonania. Może potwierdzić zmianę, rozpocząć dojazd, zgłosić blokadę, dodać zdjęcia, checklistę i podpis. Zakończenie zadania ma jawne kryteria, a brak pola nie jest uzupełniany przez AI jako fakt.

Tryb offline przechowuje ograniczony zestaw zleceń z expiry. Zdarzenia mają client sequence, device ID i lokalny czas, ale serwer zapisuje własny autorytatywny czas. Po powrocie sieci synchronizacja wykrywa, że zlecenie mogło zostać anulowane lub zmienione. Konflikt nie jest nadpisywany last-write-wins przy danych krytycznych.

PWA kierownika

Ekrany: Uwagi, Zespół, Pokrycie zmian, Zamiany, Nieobecności, Incydenty, KPI i Approvals. Kierownik widzi wyjątki, nie surowy strumień wszystkiego. Może zaakceptować candidate grafiku w granicach swojej roli, przydzielić właściciela, odesłać zadanie do poprawy i uruchomić eskalację. Nie otrzymuje automatycznie dostępu do prywatnych notatek czy surowych nagrań.

Powiadomienia

Powiadomienie zawiera minimalną treść, np. „Wymagana decyzja w sprawie zmiany 12/08”, a nie pełne dane wrażliwe na lock screen. Deep link wymaga aktywnej sesji i ponownego pobrania stanu. Push nie zawiera approval credential. Quiet hours, priorytety i kanał awaryjny są konfigurowane per rola.

Przykładowe polecenia

  • „Pokaż pracownikowi tylko jutrzejszą zmianę i wymagane szkolenia.”
  • „Pozwól zgłosić urlop, ale decyzję zostaw kierownikowi.”
  • „Wyślij push dyżurnemu; jeśli nie potwierdzi w pięć minut, uruchom zatwierdzoną eskalację.”
  • „Usuń dane offline tego urządzenia po jego oznaczeniu jako utracone.”

Pełny przebieg

Pracownik terenowy pobiera rano trzy zlecenia. W piwnicy traci zasięg, wykonuje checklistę i robi zdjęcia. PWA zapisuje zaszyfrowane eventy i bloby z kolejnością. W międzyczasie kierownik anuluje trzecie zlecenie. Po synchronizacji pierwsze dwa eventy są przyjęte, a trzecie trafia do konfliktu; aplikacja nie wysyła zdjęć do anulowanego zlecenia bez decyzji. Norbi tworzy raport i prosi kierownika o przeklasyfikowanie materiału lub usunięcie zgodnie z retencją.

Bezpieczeństwo urządzenia

Sesja jest krótka, wiązana z urządzeniem i może zostać revoked. Biometria odblokowuje lokalny klucz, ale nie zastępuje tożsamości serwera. Root/jailbreak, brak blokady ekranu lub nieaktualna wersja mogą ograniczyć funkcje. Screenshot i clipboard są kontrolowane tam, gdzie platforma pozwala, ale system nie składa niemożliwych obietnic pełnej ochrony na prywatnym telefonie.

Walidacja i scenariusz awaryjny

Testy obejmują utratę sieci podczas uploadu, duplicate submit, zmianę czasu, token expiry, dwa urządzenia, utratę telefonu, powtórny login innego pracownika, mało miejsca, permission denial kamery i konflikt roli. Przy kompromitacji urządzenia administrator revoke sesję i zleca wipe lokalnego cache przy następnym kontakcie. Ponieważ wipe może się nie wykonać na offline urządzeniu, ograniczona retencja i szyfrowanie pozostają podstawową ochroną.