Currency & Gold Price Monitor

Funkcjonalności

Panel główny i lista obserwowanych

Centrum aplikacji stanowi spersonalizowany panel główny, który wita użytkowników stosownie do pory dnia i wyświetla przegląd bieżącej aktywności rynkowej. Znajdziemy na nim wykres fixingu złota przedstawiający oficjalną cenę NBP złota za gram w PLN z ostatnich dziesięciu dni, wraz ze wskaźnikiem zmiany procentowej i wizualizacją w postaci wykresu warstwowego. Użytkownicy prowadzą własną listę obserwowanych walut. Każda karta na tej liście pokazuje aktualny kurs średni w PLN, uproszczoną linię trendu z ostatniego okresu oraz szybkie odnośniki do strony historii umożliwiające głębszą analizę. Waluty można dodawać i usuwać z listy obserwowanych za pomocą okna modalnego z wyszukiwarką, która filtruje po nazwie lub kodzie spośród wszystkich walut dostępnych w Tabeli A NBP.

Dane historyczne i analityka

Strona historii oferuje dwa tryby analizy. W trybie trendu użytkownik wybiera zakres dat oraz opcjonalnie walutę (lub złoto), po czym pobierane są dane historyczne. Wyniki prezentowane są w postaci interaktywnego wykresu warstwowego oraz tabeli z datą, wartością i numerem tabeli NBP (jeśli dotyczy). Tabela obsługuje rozwijanie w celu wyświetlenia wszystkich wierszy oraz nawigację klawiaturową zapewniającą dostępność. W trybie pojedynczego dnia użytkownik pobiera dokładny oficjalny kurs na wskazany dzień, co jest przydatne przy weryfikacji faktur lub zapewnieniu zgodności z wymogami audytowymi. Dane można eksportować do formatu CSV na potrzeby arkuszy kalkulacyjnych i raportów. API historii wymusza maksymalny zakres 93 dni dla kursów walut i stosuje odpowiednie ograniczenia dat dla złota (od 2013 roku) oraz walut (od 2002 roku).

Konto użytkownika i ustawienia

Uwierzytelnianie jest obsługiwane przez Laravel Fortify i obejmuje rejestrację, logowanie, weryfikację adresu e-mail oraz opcjonalne uwierzytelnianie dwuskładnikowe. Strona ustawień profilu pozwala użytkownikom aktualizować imię i nazwisko, pseudonim, adres e-mail oraz awatar. Zmiana hasła wymaga podania aktualnego hasła i podlega limitowaniu żądań. Sekcja strefy zagrożenia umożliwia usunięcie konta po potwierdzeniu hasłem. Aplikacja obsługuje jasny i ciemny motyw z zachowaniem wyboru między sesjami. Dostępne jest przełączanie języka interfejsu (angielski i polski), zapisywane per użytkownik. W nawigacji po aplikacji pomagają ścieżka okruszkowa oraz responsywny układ z bocznym paskiem nawigacyjnym łączącym panel główny, listę obserwowanych, historię i ustawienia.

Źródło danych i synchronizacja

Wszystkie dane kursów walut i złota pochodzą z oficjalnego API NBP. Aplikacja synchronizuje definicje walut oraz buforuje kursy i ceny złota przy użyciu zaplanowanych poleceń Artisan. Codzienna synchronizacja uruchamia się o godzinie 06:00, a buforowanie o 06:15; mechanizm blokad zapobiega nakładaniu się zadań i wymusza wykonanie na jednym serwerze, co zapewnia bezpieczeństwo w środowiskach wieloinstancyjnych. Serwis NBP normalizuje odpowiedzi API do typowanych obiektów danych oraz obsługuje ponawianie żądań i limity czasu w celu zwiększenia odporności na błędy.