Fleet redesign, GBOX GPS na mapie, Kanaly w Komunikacji
Filip Borkowski, Backend/Frontend/Fullstack Engineer
Park maszyn — przebudowa panelu
Usnieto zestawienie statystyk (4 kafelki z liczba pojazdow). Zastapiono trzema przyciskami-zakladkami:
- Pojazdy — ciezarowki i ciagniki siodlowe
- Naczepy — naczepy i przyczepy
- Kontenery — kontenery transportowe
Domyslny widok ustawiony na Pojazdy. Lista filtrowana automatycznie wedlug wybranej zakladki. Naglowek i przycisk "Dodaj" dostosowuja sie do aktywnej grupy.
Nowa kolumna BoxId
Dodano pole BoxId (identyfikator urzadzenia GPS GBOX) do panelu Park maszyn. Obejmuje:
- Migracja Supabase:
ALTER TABLE vehicles ADD COLUMN box_id text - API: mapowanie
boxId(frontend) nabox_id(baza danych) - Frontend: kolumna w tabeli, pole w formularzu, uwzglednienie w wyszukiwaniu
Integracja GBOX API — 15 tabel w Supabase
Utworzono kompletny schemat bazy danych do przechowywania danych z API GBOX (system sledzenia GPS pojazdow). Tabele z polskimi nazwami pol, RLS i indeksami:
Synchronizacja i urzadzenia
- gbox_synchronizacja — metadane synca per endpoint (ostatni czas, ostatnie ID pozycji)
- gbox_urzadzenia — urzadzenia GPS (boxy) z powiazaniem do naszych pojazdow
- gbox_pojazdy — pojazdy z GBOX (nr rejestracyjny, typ, id_box)
- gbox_kierowcy — kierowcy z GBOX (imie, nazwisko, telefon, nr karty)
Pozycje GPS
- gbox_pozycje_aktualne — 1 wiersz per box, nadpisywany co sync (predkosc, paliwo, silnik, ETA, czas jazdy)
- gbox_pozycje_historia — historia pozycji z indeksem na (id_box, czas) dla szybkiego wyszukiwania
Zlecenia
- gbox_zlecenia — zlecenia wysylane do kierowcow przez GBOX
- gbox_zlecenia_zdarzenia — punkty zaladunku/rozladunku ze wspolrzednymi i adresem
- gbox_zlecenia_przesylki — przesylki przypisane do zdarzen
- gbox_zlecenia_ladunki — ladunki w przesylkach
- gbox_zlecenia_logi — historia zmian statusow zlecen
Monitoring i komunikacja
- gbox_alerty — alerty z urzadzen (przekroczenie predkosci, geofence, awarie)
- gbox_wiadomosci — wiadomosci tekstowe do/od kierowcow
- gbox_tankowania — dane o tankowaniach (lokalizacja, litry, zuzycie)
- gbox_czas_pracy — czas pracy kierowcow (zgodnosc z przepisami)
Mapa — pozycje GPS w czasie rzeczywistym
Integracja panelu Mapa z GBOX API. Pozycje pojazdow odswiezane automatycznie co 60 sekund:
- Nowy endpoint
/api/gbox/positions— pobiera i parsuje XML z GBOX PositionsCurrent - Markery na mapie kolorowane wedlug stanu silnika: zielony (jedzie) / szary (stoi)
- Tooltip i popup na markerze: tag podmiotu + numer rejestracyjny (np. GEO FZ9677P)
- Lista pojazdow z paskiem statusu (X jedzie / X stoi) i przyciskiem odswiezania
- Panel szczegolow z danymi GPS: predkosc, silnik, bateria, dystans, obciazenie, paliwo
Komunikacja — zakladka Kanaly
Nowa funkcjonalnosc w panelu Komunikacja. Kanaly tematyczne z wiadomosciami:
- Domyslne kanaly: ogolny, zlecenia, kierowcy, biuro
- Tworzenie i usuwanie kanalow
- Wysylanie wiadomosci (Ctrl+Enter), separatory dat
- Wyszukiwanie kanalow
- Dane w localStorage
Mapa — historia trasy pojazdu
Po kliknieciu pojazdu na mapie automatycznie pobierana jest historia pozycji z ostatnich 3 dni:
- Linia trasy rysowana na mapie — kazdy dzien innym kolorem (niebieski, zolty, czerwony)
- Legenda w panelu szczegolow z datami i liczba punktow GPS
- Endpoint
/api/gbox/positions/historyz paginacja i filtrowaniem po boxId
Mapa — sortowanie i wyswietlanie listy
- Lista pojazdow: rejestracja + marka jako pierwsza linia, nazwa + typ jako druga
- Sortowanie alfabetyczne po numerze rejestracyjnym
Park maszyn — kolumna Stan paliwa
Nowa kolumna w tabeli Park Maszyn z danymi z GBOX GPS:
- Poziom paliwa w procentach (np. 45%)
- Data i godzina ostatniego odczytu GPS
- Pojazdy bez danych GPS wyswietlaja "Brak danych"
Dokumentacja GBOX API
Dodano trzy pliki dokumentacji w katalogu todo/:
- Pelna instrukcja polaczenia z API (endpointy, autoryzacja, przyklady)
- Schemat encji wyodrebniony z oficjalnego diagramu API
- Lista wszystkich zapytan i odpowiedzi z opisami metod HTTP