Szczegółowe informacje o systemie oraz działaniu transportu publicznego w Szczecinie
SzybkiSzofer
Wykonał: Stanisław Maik, klasa 4a TI SCI w Szczecinie
Celem aplikacji jest popularyzacja podróżowania transportem publicznym na terenie Miasta Szczecin oraz ułatwienie użytkownikowi końcowemu dostępu do informacji o kursowaniu komunikacji miejskiej na terenie miasta.
Z aplikacji można korzystać bez rejestracji, jednak dzięki niej użytkownik otrzymuje funkcję Ulubione (obecnie ulubione linie i przystanki, w przyszłości planuję funkcję rozbudować o wykrywanie preferowanego typu taboru (np. skład niskopodłogowy, bądź autobus elektryczny) oraz oznaczanie ulubionych kursów.
System zawiera również innowacyjny system wykrywający (po zezwoleniu użytkownika) przystanki w okolicy wraz z szybkim dostępem do tablicy odjazdów (odświeżanej w czasie rzeczywistym).
Na stronach z informacjami o przystankach, pojazdach, liniach, biletomatach, kasach i ulubionych, znajdują się mapy reprezentujące trasę linii, bądź lokalizację żądanego przystanku/pojazdu.
Ciekawą funkcją jest podgląd obowiązujących ograniczeń prędkości - dowiemy się dzięki niej, czy pojazd porusza się sprawnie i szybko.
Przygotowałem również rozbudowaną funkcję statystyki z wieloma widokami i filtrami, dzięki którym użytkownik dowie się o opóźnieniach linii.
Do zarządzania stroną stworzyłem stronę administracyjną, monitorującą stan bazy danych, umożliwiającą publikację własnych ogłoszeń (napisanych w język Markdown) a także zarządzanie użytkownikami.
W tworzeniu aplikacji stawiam na możliwość personalizacji - obok głównych funkcjonalności opracowałem przełączanie ciemnego motywu, opcję wyświetlania funkcji eksperymentalnych, wybranie trybu wyświetlania mapy (OpenStreetMap, bądź Google Earth), czy zmianę języka aplikacji (na razie jedynie w części).
Zadbałem również o dostępność aplikacji - użytkownik może w łatwy sposób powiększyć tekst, planuję funkcję "Wysoki kontrast". Nie zapomniałem o użytkownikach urządzeń Apple - stworzyłem przyciski do szybkiego powrotu do poprzedniej karty.
Możliwie największą ilość danych aktualizuję w czasie rzeczywistym, a sprawdzanie aktualizacji rozkładu jazdy wykonuje skrypt.
Dla ułatwienia, część danych udostępniam w formie skrytptu PHP/NodeJS/Python, generującego API w JSON, a następnie na samej stronie wykorzystuję za pomocą JavaScript.
Dane logowania użytkowników są zapisowane w zaszyfrowanej bazie danych, za pomocą tzw. hashowania.
Nawigacja
W górnej części znajduje się pasek nawigacji. Znajdują się tam (od lewej) odnośniki do stron, pole na wpisanie numeru przystanku (numer przystanku można znaleźć na słupku lub wiacie) w celu szybkiego sprawdzenia tablicy odjazdów.
Dalej znajduje się rozwijane pole ze stronami systemowymi. Po prawej znajduje się przycisk do zmiany motywu (jasny/ciemny).
Strona Główna - Tabela z pojazdami
Na stronie jest generowana tabela (odświeżana co ok. 30 sekund - odświeżanie można zatrzymać przyciskiem PAUZA, po kliknięciu WZNÓW dane zostaną natychmiast odświeżone a odliczanie zostanie zresetowane. Domyślnie jest włączone sortowanie według najszybszego pojazdu, które można dostosować poprzez kliknięcie na tytuł odpowiedniej kolumny (ponowne kliknięcie jednej kolumny spowoduje odwrócenie sortowania - np. zamiast pojazdów od najszybszych - będą wyświetlane od najwolniejszych).
W lewym górnym rogu tabeli można wybrać wyświetlaną ilość pojazdów na jednej stronie. W prawym górnym rogu znajduje się wyszukiwarka, dzięki której można wyszukać żądany pojazd. W tabeli są wyświetlane ograniczenia prędkości - jeśli widzisz, że go brakuje - napisz do nas: szybkiszofer@maventplan.pl
Pole do wpisania numeru przystanku - odnośnik do tablicy odjazdów
W pole formularza można wpisać numer przystanku (znajdujący się na wiacie lub słupku przystankowym).
Po zatwierdzeniu nastąpi przekierowanie na stronę z tablicą - znajdują się na niej: Nazwa przystanku, Numer przystanku,
Tablica odjazdów (czas realny jest wyświetlany w formie minut do odjazdu, rozkładowy - w formie godziny odjazdu; jego może to oznaczać, że pojazdu nie ma (pusty kurs) lub brak przekazywania przez pojazd danych GPS), Ewentualną dodatkową wiadomość i Czas aktualizacji danych - strona jest automatycznie odświeżana co 30 sek.
Statystyki
Na stronie jest generowany wykres, przedstawiający statystyki dla każdej aktualnie kursującej linii w zależności od wybranego w polu wyboru źródła danych - Punktualność lub Punktualność, i trybu wyświetlania - Średnia, Najwyższa lub Najniższa. Wartość 0 (brak słupka dla danej linii) oznacza kurs realizowany zgodnie z rozkładem jazdy (lub w trybie prędkości - oznacza, że wszystkie pojazdy stoją), wartość mniejsza od 0 oznacza kurs opóźniony, a wartość większa od 0 – kurs przyspieszony (lub odpowiednio - prędkość).
Tramwaje przedstawione są kolorem niebieskim; autobusy dzienne zwykłe kolorem zielonym, zastępcze kolorem żółtym, pospieszne kolorem czerwonym, nocne kolorem czarnym.
Mapa pojazdów
Na stronie jest generowane dynamicznie 5 punktów na mapie - są to w zależności od trybu - najszybsze lub najwolniejsze pojazdy, pojazdy o największym opóźnieniu i przyspieszeniu.
Lista ograniczeń prędkości - strona dostępna z poziomu listy rozwijanej
Na stronie jest wyświetlana tabela zawierająca wszystkie ograniczenia (lub podwyższenia) prędkości na danych odcinkach tras, nie większych niż jeden przystanek. Dane, podobnie jak na strone głównej można dowolnie sortować i wyszukiwać.
Zachęcamy do zgłaszania ograniczeń prędkości, które nie widnieją w naszym systemie - razem możemy go ulepszyć - na adres mailowy: szybkiszofer@maventplan.pl
Progressive Web Application - Aplikacja Mobilna
System SzybkiSzofer jest dostępny do zainstalowania jako aplikacja typu Progressive Web App (PWA). Dzięki temu, działa ona na wszystkich systemach - możliwe jest używanie jej na Androidzie, na iOS, na Windows. System pokazuje na żywo najszybsze pojazdy, tablice odjazdów, opóźnienia dzięki danym udostępnianym przez ZDiTM w Szczecinie.
Zalety: Nie trzeba nic instalować - aplikacja nie zajmuje miejsca w telefonie, nie trzeba akceptować żadnych dodatkowych uprawnień. Dodatkową warstwą bezpieczeństwa jest pełne szyfrowanie strony (HTTPS).