Skip to content

Zadanie rekrutacyjne - Julia Winiarska#53

Open
juliawiniarska wants to merge 3 commits intotelemedico:masterfrom
juliawiniarska:MojeZadanieJuliaWiniarska
Open

Zadanie rekrutacyjne - Julia Winiarska#53
juliawiniarska wants to merge 3 commits intotelemedico:masterfrom
juliawiniarska:MojeZadanieJuliaWiniarska

Conversation

@juliawiniarska
Copy link
Copy Markdown

@juliawiniarska juliawiniarska commented Sep 1, 2025

Implementacja backendu - API kursów walut z integracją NBP

Czas pracy: około 5 godzin

Feedback: Zadanie było napisane w jasny sposób, więc nie miałam problemów ze zrozumieniem co muszę wykonać. Najwięcej czasu zajęło mi kwestia braku kursów NBP w weekendy lub święta. ale dodałam po prostu pobieranie z wcześniejszego dnia. Dorzuciłam też cache, aby zmniejszyć liczbę zapytań do API.

Komentarze dot. mojego podejścia: Na początku stworzyłam plik NBPClient, który służy do pobierania kursów walut, następnie dodałam plik RateService, który zawiera logikę czyli obliczanie marż i historię z 14 dni. Kolejnymi dodanymi plikami są: RateCalculator liczący kursy kupna i sprzedaży według zasad kantoru i RateController, w którym dodałam dwie nowe ścieżki /api/rates i /api/history{code} do pobierania danych dla frontendu. W pliku routes.yaml dopisałam ścieżki do wyżej wymienionych endpointów.

Następne kroki: Zrobienie frontendu, czyli tabeli i wykresu

Implementacja frontendu - dashboard z tabelą i wykresem

Czas pracy: około 4 godziny

Feedback: Część frontendowa była bardzo prosta do wykonania, dzięki dobremu wykonaniu backendu. Najwięcej czasu zajęło mi dopracowanie wyglądu i responsywności, aby aplikacja była wygodna i wyglądała profesjonalnie.

Komentarze dot. mojego podejścia: Zaczynając od początku to stworzyłam komponent Dashboard, który pobierane sane z endpointów backendu. Dane pokazywane są w tabeli z nagłówkami (średni kurs, kupno, sprzedaż, data NBP), dodana jest też możliwość wyboru daty, a przyszłe dni są zablokowane. Następnie dodałam dwie funkcje: eksportowanie raportu do pliku CSV i generowanie raportu do druku. Na stronie znajduje się również opisany wykres o zakresie 14 dni. Dla spójności zmieniłam kolory wszystkich elementów.

Następne kroki: Przygotowanie testów

Testy - backend API

Czas pracy: około 1 godzina

Feedback: Testy integracyjne były łatwe do napisania, ponieważ struktura Api nie jest skomplikowana.

Komentarze dot. mojego podejścia: Napisałam testy sprawdzające dwa endpointy:

  • testRates - sprawdza czy /api/rates zwraca wszystkie obsługiwane waluty i poprawne pola,
  • testHistory - sprawdza czy /api/history/{code} zwraca pełną serię 14 dni bez przerw.

Testy uruchomiłam na Dockerze, wszystkie przeszły pomyślnie.

Podsumowanie

Całe zadanie podzieliłam na trzy etapy: backend, frontend i testy. Całość jest spójna i kompletna.

@juliawiniarska juliawiniarska changed the title Implementacja backendu - API kursów walut z integracją NBP Zadanie rekrutacyjne - Julia Winiarska Sep 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant