Interaktywna aplikacja internetowa udostępniająca narzędzia do zarządzania danymi pomiarowymi Instytutu Meteorologii i Gospodarki Wodnej Państwowego Instytutu Badawczego
Autor – Marcin Golis
1. Cel i podstawowe założenia
Celem pracy jest stworzenie aplikacji internetowej do monitorowania stanów rzek przez użytkowników. Aplikacja powinna posiadać własny serwer i bazę danych umożliwiającą personalizowanie wyników. Aplikacja powinna również zapewniać poprawność wyników oraz być wykonana w aktualnych na czas jej tworzenia technologiach.
2. Realizacja projektu
Celem projektu było samodzielne stworzenie wszystkich składowych trójwarstwowej aplikacji internetowej. Realizacja projektu toczyła się zgodnie z zasadami sztuki informatycznej. Wykonywanie projektu odbywało się w następujących etapach:
- Sprawdzenie możliwości, zasad i regulaminów korzystania z danych dostępnych w oficjalnych portalach.
- Przeprowadzenie analizy już istniejących rozwiązań na rynku. Również pod kątem ich wad jak i zalet.
- Opracowanie koncepcji własnego rozwiązania oraz wymagań funkcjonalnych i niefunkcjonalnych
- Zaprojektowanie architektury rozwiązania oraz wyselekcjonowanie narzędzi do jego wytworzenia
- Zaprojektowanie interfejsu użytkownika oraz innych potrzebnych widoków
- Opracowanie oraz napisanie kodu aplikacji
- Weryfikacja i testowanie poprawności działania wytworzonego oprogramowania
Podczas implementacji zaprojektowano bazę danych w taki sposób, aby zbierane dane pomiarowe nie powodowały jej redundancji. Dane które powtarzają się przy pobieraniu ich od dostawcy zostają odrzucone a nowe dane zostają zapisane w odpowiednich tabelach. Zabezpieczono również serwer przed niepowołanym dostępem do punktów API. Dodano możliwość rejestracji i logowania się w systemie. Możliwość korzystania z punktów API została dopasowana i wzbogacona o system ról. Dzięki temu konto o uprawnieniach zwykłego użytkownika nie morze pobrać zasobów przyporządkowanych dla konta administratora. Dodatkiem jest możliwość dodawania pozycji do własnej listy oraz notatek do każdej z nich. Notatki są indywidualne i widoczne tylko dla ich właściciela.
3. Produkt końcowy – stworzone oprogramowanie
3.1. Podstawowe wymagania
Uruchomienie aplikacji w rzeczywistym środowisku jest różnorodne i uzależnione od dostawcy, u którego chcemy uruchomić aplikacji. Aby uczynić to poprawnie należy postępować zgodnie z jego instrukcjami.
Aby uruchomić aplikacje lokalnie należy posiadać zainstalowane oprogramowanie Docker. W konsoli z poziomu dostarczonego folderu RLM należy wykonać polecenie docker compose up -d.
Po uruchomieniu się wszystkich kontenerów aplikacja dostępna będzie w przeglądarce pod adresem http://localhost.
3.2 Funkcjonalność oprogramowania
Przy przejściu na stronę, która udostępnia stworzoną aplikacje uruchomiona zostaje strona główna. Posiada ona przyciski nawigacyjne oraz informacje o nazwie zalogowanego konta. Z tego miejsca możemy przejść do zakładki rzek bądź strony logowania. Widzimy również informacje, że aby móc korzystać z własnej listy musimy się zalogować.
Po przejściu do zakładki rzek bez zalogowania możemy przeglądać i zawężać pozycje do województw klikając na nazwy po lewej stronie okna.
Po kliknięciu w przycisk Pokaż aplikacja przeniesie nas do widoku szczegółów. W widoku szczegółów bez zalogowania mamy dostępne tylko trzy zakładki: Lokalizacja, Pomiary i Wykres.
Pierwsza prezentuje ogólne dane identyfikacyjne. Druga pomiary i ich daty podzielone na strony. Zakres stron z danymi można konfigurować za pomocą stronicowania w dolnej prawej części okna. Trzecia zakładka prezentuje pomiary na wykresie liniowym.
Aby otrzymać więcej możliwości należy kliknąć przycisk Logowanie.
Pierwsza prezentuje ogólne dane identyfikacyjne. Druga pomiary i ich daty podzielone na strony. Zakres stron z danymi można konfigurować za pomocą stronicowania w dolnej prawej części okna. Trzecia zakładka prezentuje pomiary na wykresie liniowym.
Aby otrzymać więcej możliwości należy kliknąć przycisk Logowanie.
W tym miejscu można się zalogować bądź zarejestrować swoje konto. Po poprawnym przejściu przez ten proces zostajemy przekierowani na stronę z listą rzek.
Po zalogowaniu widzimy, że na stronie głównej umieszczona jest informacja o nazwie konta, na którym jesteśmy aktualnie zalogowani. Teraz na stronie rzek możemy zauważyć, że mamy dostępny przycisk Dodaj do listy. Kliknięcie tego przycisku doda wybraną rzekę do listy i przeniesie nas na nią.
Możemy tutaj usunąć rzekę z listy bądź przejść do jej szczegółów.
W szczegółach rzeki oprócz poprzednich zakładek pojawia się nam nowa o nazwie Notatki. Możemy w niej dodawać i usuwać własne notatki. Można również zauważyć informacje o ilości rzek na liście prywatnej użytkownika umieszczonej w prawym górnym rogu aplikacji przy ikonie listy.
Możemy tutaj usunąć rzekę z listy bądź przejść do jej szczegółów.
W szczegółach rzeki oprócz poprzednich zakładek pojawia się nam nowa o nazwie Notatki. Możemy w niej dodawać i usuwać własne notatki. Można również zauważyć informacje o ilości rzek na liście prywatnej użytkownika umieszczonej w prawym górnym rogu aplikacji przy ikonie listy.
3.3 Część administracyjna
Do części administracyjnej maja dostęp tylko użytkownicy z rolą administratora. Przejście tam odbywa się poprzez dopisanie do adresu domeny aplikacji ścieżki /admin.
Po poprawnym podaniu danych logowania jesteśmy przekierowywanie do widoku głównego.
Możemy w tym miejscu wymusić ręczną aktualizacje danych pomiarowych na serwerze. Aby to zrobić należy kliknąć przycisk Aktualizuj i poczekać do końca pracy sygnalizowanej przez pasek postępu. Strona udostępnia również dane statystyczne o ilości danych w bazie i ilości zarejestrowanych kont w systemie.
Po przejściu do zakładki rzeki otrzymujemy postronicowaną tabele z listą rzek w bazie danych. Z tego miejsca możemy dodawać rzeki klikając przycisk Dodaj rzekę w górnej części ekranu.
Możemy również edytować i usuwać pozycje klikając ikony w kolumnie Akcje.
W tym miejscu można edytować dane wybranej rzeki znajdujące się w bazie danych. Zapis pozycji odbywa się po naciśnięciu przycisku Zapisz.
4. Informacje o możliwości wykorzystania
Stworzona aplikacja jest gotowa do dalszego rozwoju. Dzięki swojej elastyczności mogą być w niej prezentowane różnorodne informacje. Również takie stworzone w innych technologiach. Mogą to być aplikacje na telefon czy np. zegarek. Aplikacja może zostać rozbudowana do całego systemu informacyjnego z którego będą korzystać ukierunkowane na konkretne działania aplikacje.