( 01 · 19:40 · Dyżur · Automatyzacja · panel WWW i Android )

Czy telefon może sam wiedzieć, kto ma dziś dyżur?

Grafik dyżurów, który sam przestawia przekierowanie telefonu.

Zespół ma jeden numer, na który dzwonią klienci, i grafik dyżurów. Panel w przeglądarce trzyma grafik, a aplikacja na telefonie dyżurnym co pół minuty pyta serwer, kto ma teraz dyżur, i sama ustawia przekierowanie połączeń u operatora. Potem sprawdza w sieci, czy operator naprawdę je przyjął.

Dyżur
Panel
Next.js
Telefon
Android
Synchronizacja
co 30 s

( Wypróbuj )

Spróbuj sam

Wybierz, kto ma teraz dyżur.

Telefon dyżurny w panelu

  • 84%, na ładowarce
  • 4/4, LTE
  • Wi-Fi

W prawdziwym systemie robi to grafik: telefon co pół minuty pyta serwer, kto ma dyżur, i sam wybiera kod przekierowania u operatora.

Dyżur

Teraz odbiera

A

Anna

+48 600 100 201

do jutro 08:00zostało 12 h 20 min
✓ potwierdzone przez sieć

Historia zmian

  • Anna16:00 · grafik

Najtrudniejsze

Dyżur, który zaczyna się o 16:00 i kończy rano następnego dnia. I system oszczędzania baterii, który po cichu usypiał aplikację. Na biurku wszystko działało, w kieszeni już nie.

Co to znaczy dla Ciebie

Jeśli ktoś w Twojej firmie codziennie robi coś ręcznie i czasem zapomina, to prawdopodobnie da się to zautomatyzować. Grafiki, przypomnienia, rezerwacje, powiadomienia.

( Problem )

Przekierowanie połączeń to kod wybierany na telefonie, a nie funkcja, którą da się wywołać z serwera. Telefon musiał więc sam pilnować grafiku przez całą dobę, także wtedy, gdy nikt go nie dotyka, a system oszczędzania baterii robi wszystko, żeby aplikację uśpić. Do tego dyżury nocne, które zaczynają się jednego dnia, a kończą następnego, i pytanie, skąd wiadomo, że przekierowanie naprawdę działa, a nie tylko zostało wybrane.

( Rozwiązanie )

Serwer z panelem jest jedynym źródłem grafiku. Aplikacja na Androida działa jako usługa pierwszoplanowa: co 30 sekund pobiera grafik, a gdy zmienia się osoba, wybiera kod przekierowania u operatora. Potem do trzech razy pyta sieć o stan przekierowania i dopiero wtedy raportuje do panelu, że jest potwierdzone. W panelu widać, kto odbiera, kiedy telefon ostatnio się odezwał i co ustawił, a także jego baterię, zasięg i internet. Ręczna zmiana obowiązuje do końca bieżącego dyżuru.

( Jak powstawało )

  1. 01Grafik w panelu: dyżury w siatce tygodnia, także nocne przez północ, z ostrzeżeniem o godzinach bez dyżuru.
  2. 02Aplikacja na telefonie dyżurnym jako usługa pierwszoplanowa, odporna na usypianie przez system oszczędzania baterii.
  3. 03Przekierowanie kodem u operatora, a potem sprawdzenie w sieci, czy naprawdę działa, do trzech prób.
  4. 04Raport do panelu: kto odbiera, kiedy telefon ostatnio się odezwał i skąd przyszła zmiana (grafik, ręcznie, panel).
  5. 05Wdrożenie: obraz budowany przez GitHub Actions, stack w Portainerze, codzienne kopie bazy.

( Zrzuty )

Pulpit: kto teraz odbiera, stan telefonu dyżurnego i najbliższe dyżury.
Pulpit: kto teraz odbiera, stan telefonu dyżurnego i najbliższe dyżury.
Grafik tygodnia, także z dyżurami nocnymi przez północ.
Grafik tygodnia, także z dyżurami nocnymi przez północ.

( Co potrafi )

Grafik tygodnia

Dyżury dzienne i nocne w jednej siatce. Puste godziny widać od razu, zanim ktoś zadzwoni w próżnię.

Potwierdzenie z sieci

Samo wybranie kodu to za mało. Telefon pyta sieć, czy przekierowanie naprawdę działa, i dopiero wtedy mówi, że jest dobrze.

Zmiana z panelu

Ktoś choruje? Jedno kliknięcie w panelu i telefon przestawia się w ciągu pół minuty, do końca bieżącego dyżuru.

Alarm, gdy telefon milczy

Panel pokazuje, kiedy telefon ostatnio się odezwał, i ostrzega, gdy przestaje odpowiadać.

Bateria i zasięg

Panel widzi, ile baterii ma telefon dyżurny i czy stoi na ładowarce, jaki ma zasięg, sieć i operatora oraz skąd bierze internet. Ostrzega przy słabej baterii, a bez zasięgu mówi wprost, że przekierowania nie da się teraz zmienić.

Statystyki i eksport

Godziny dyżurów w miesiącu na osobę i eksport do CSV, bez przepisywania z kartki.

Kopie zapasowe

Codzienna kopia bazy i kopia do pobrania jednym kliknięciem z ustawień panelu.

( Prywatność )

Numery osób dyżurnych są tylko na serwerze i w telefonie dyżurnym. Zrzuty i telefon na tej stronie pochodzą z wersji demonstracyjnej: imiona i numery są wymyślone.

Next.jsPrismaSQLiteKotlinJetpack ComposeDocker

Projekt, panel, aplikacja na telefon i wdrożenie, całość solo.