Autor – Dawid Staszewski
1. Cel i podstawowe założenia
Celem pracy jest zaprojektowanie i implementacja aplikacji mobilnej do wzywania pomocy drogowej. Wśród użytkowników znajdą się uczestnicy ruchu drogowego oraz firmy świadczące usługi pomocy drogowej. W podstawowej wersji aplikacja będzie dostarczać kilka funkcji takich jak: udostępnianie lokalizacji wypadku oraz nadchodzącej pomocy drogowej, wyświetlanie trasy, system oceniania świadczonych usług, śledzenie statusu zlecenia, ustawianie ceny. Do stworzenia aplikacji zostanie wykorzystane środowisko Android Studio, a serwer zostanie napisany w języku PHP wykorzystując serwer WWW Apache2. Do przechowywania danych zostanie użyty baza danych Oracle, która będzie wykonywać część logiki biznesowej przy użyciu języka PL/SQL.
2. Realizacja projektu
Rezultatem pracy jest system składający się z aplikacji na urządzenia z systemem Android, serwera oraz bazy danych. Serwer w celu znajdowania miejsc oraz udostępniania punktów poszczególnych tras komunikuje się z zewnętrznym serwerem OpenRouteService. Cały system został skonteneryzowany za pośrednictwem Docker oraz umożliwia on zarówno wezwanie pomocy drogowej, jak i oferowanie jej przez firmy świadczące takie usługi. Aplikacja mobilna została napisana w języku Java w środowisku programistycznym Android Studio wraz z zewnętrznymi bibliotekami: Glide, Retrofit, Gson, Interceptor, Osmdroid, CircleImageView. Serwer został napisany w języku PHP przy użyciu bibliotek: Composer, PDO_OCI, OCI, Firebase/PHP-JWT, Bramus/Router. Część logiki biznesowej jest wykonywana w bazie danych dzięki napisanym procedurom i funkcjom zaimplementowanych w pakietach przy użyciu języka PL/SQL.
3. Produkt końcowy – stworzona aplikacja
3.1 Podstawowe wymagania systemu
Do uruchomienia aplikacji mobilnej potrzebne jest urządzenie mobilne z systemem Android w co najmniej w wersji 8.0, z dostępem do Internetu oraz wbudowanym modułem GPS. Aplikację instalujemy poprzez załadowanie pliku instalacyjnego (.APK) na urządzenie. Aby uruchomić serwer, wymagany jest komputer (lub dedykowany serwer) z publicznym adresem IP, z zainstalowanym oprogramowaniem Docker i rozszerzeniem Docker Compose, a także z odpowiednio skonfigurowanymi katalogami zawierającymi dane serwera, biblioteki oraz dane bazy danych. W terminalu Dockera, należy przejść do katalogu w którym znajduje się plik „docker-compose.yml” i wykonać polecenie „docker-compose up –d”.
3.2 Funkcje aplikacji mobilnej
Żeby uruchomić aplikację mobilną, należy kliknąć na jej ikonę na wyświetlaczu telefonu. Następnie należy zalogować się do systemu. W zależności od wybranego rodzaju konta klienta lub usługodawcy, użytkownik zobaczy odpowiedni widok aplikacji.
Zakładka 2:
Klient: zakładka oferuje możliwość skorzystania z innych rodzajów pomocy drogowej.
Usługodawca: zakładka umożliwia dodawanie nowych rodzajów usług oraz ustalanie cennika (opłata za kilometr, opłata bazowa za usługę).
Zakładka 3:
Klient: zakładka przeznaczona jest do przeglądania historii zamówień oraz wystawiania ocen, podczas aktywnego zlecenia umożliwia śledzenie usługodawcy.
Usługodawca: zakładka przeglądanie historii zamówień i weryfikacji wystawionych ocen przez klientów.
Zakładka 4:
Zarówno klient, jak i usługodawca, mogą edytować dane swojego profilu (zmieniać informacje osobiste oraz hasło do konta).
Dodatkowo, podczas realizacji zlecenia, usługodawca może aktywować nawigację, aby precyzyjnie zlokalizować klienta, natomiast klient podczas wstawiania nowego zgłoszenia ustawia miejsce zdarzenia, jeśli jest to pomoc drogowa, dodatkowo ustala miejsce transportu pojazdu.
4. Informacje o możliwości wykorzystania pracy
Przygotowany system do wzywania pomocy drogowej stanowi narzędzie do przyśpieszenia procesów zarówno dla potrzebujących pomocy drogowej oraz dla użytkowników oferujących usługi pomocy drogowej. Dzięki niemu potrzebujący mogą szybko wezwać pomoc drogową, natomiast usługodawcom poprawia to efektywność obsługi i skrócenie czasu reakcji na zgłoszenia. Aplikacja przyczynia się do pozyskiwania nowych klientów oraz umożliwia szybszą realizację zleceń. W przyszłości planowane są usprawnienia aplikacji, które umożliwią integrację z innymi urządzeniami oraz poprawę komunikacji między klientami a usługodawcami.