Skip to content

Feat: Podstrona z kursami walut - #1

Open
Qionar wants to merge 7 commits into
masterfrom
zadanie-sviatoslav-zhovtiak
Open

Feat: Podstrona z kursami walut#1
Qionar wants to merge 7 commits into
masterfrom
zadanie-sviatoslav-zhovtiak

Conversation

@Qionar

@Qionar Qionar commented Aug 11, 2024

Copy link
Copy Markdown
Owner

Poświęcony czas:
Nie trackowałem, tak bezpiecznie 3-5h

Feedback do zadania:
Generalnie bardzo przyjemne zadanko, które pozwala na weryfikacje wielu podstawowych umiejętności i bada podejście - budowa API, integracja API, tworzenie architektury, testowanie, działanie z datami ( nie każdy to lubi :D ), działanie w określonym środowisku oraz samo w sobie podejście do problemu. Podoba mi się to, że dostałem repo z środowiskiem ( które zakładam w jakimś stopniu odzwierciedla środowisko w którym kandydat potencjalnie będzie pracował na co dzień ) przygotowanym do pracy oraz fakt tego, że zostało to przemyślane aby prostym zadaniem zweryfikować sporo ważnych rzeczy.

Co bym dodał?

  • Ogólnie, to rozważyłbym dodanie tutaj obsługi real-time za pomocą websocketów lub SSE. Fakt, że w kontekście API NBP to za dużo nie da, ale można podpiąć jakieś API giełdowe :)
  • Obliczenie kwot, użyłbym do tego jakieś paczki ( lub własnego rozwiązania ) do precyzyjnych obliczeń kwot, bo wszyscy wiemy że czasami potrafi uciąć parę groszy - a pieniądz powinien się zgadzać. Ale na rzecz tego, że jest to zadanie rekrutacyjne pominąłem to

Podejście:

  • Generalnie starałem się zbudować ten kod, aby było to niezależne od siebie. Dlatego wdrożylem tutaj wzorzec strategy, aby decouplować logikę pobierania od logiki serwisowej co potencjalnie pozwoli bardzo prosto użyć innego dostawcy kursów walut.
  • Konfiguracja dostępnych walut oraz prowizji konfigurowalna z ustawień w plikach .yml
  • Parę testów unitowych do weryfikacji działania filtracji oraz mapowania danych zwracanych z serwisu
  • Oczywiście mockowanie danych zwracanych z zewn. API. Niby każdy to wie, a czasami potrafiłem znaleźć smaczki jak ktoś testował uderzając do API bezpośrednio

Known issues:

  • Ogólnie to jak się okazało NBP nie zwraca danych z dni wolnych ( czyli ktoś to musi ręcznie wpisać do systemu :O ), dlatego wtedy wyświetla się komunikat, że Brak danych dla dnia N

Screeny jak wygląda UI ( do podglądu bez konieczności budowy lokalnie ):
Zrzut ekranu 2024-08-11 o 15 40 27
Zrzut ekranu 2024-08-11 o 15 40 50

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