Poziom studencko-juniorski.
Do tej pory pracowałem w połączeniu: Spring (back) i Angular (front), gdzie nie korzystałem z obcych API (serwisy informacyjne, portale społecznościowe, pogoda, itp), chyba że były to wewnętrzne mikroserwisy w pracy.
W celu poprawy znajomości JavaScript, TypeScript oraz nauki React postanowiłem napisać aplikację webową, dla której stworzyłem dwa repozytoria: Express.js (back) i React (front). Aplikacja musi zawierać logowanie i rejestrację.
System ma za zadanie pobierać, a następnie obrabiać dane giełdowe(dokonywać obliczeń) przykładowo takiego JSONa:
https://www.quandl.com/api/v3/datasets/WSE/CDPROJEKT.json?api_key=MqbK19YZ9jDT8asyvzN-
Następnie wizualizować dane w zależności od wybranego okresu np. 1 dzień, 1 miesiąc, 1 rok i inne takie....
Planuję zatem mechanikę powyższego procesu:
I. W części backendowej pobierz JSONa z Quandl (GET od obcego API).
II. Obrób te dane tzn. oblicz wskaźniki giełdowe, oscylatory, itp. w części backendowej.
III. Stwórz własne endpointy w backendowym repozytorium, w których będziesz wysyłał obrobione dane (POST od własnego API).
IV. Odbierz te dane w części frontendowej (GET od własnego API), doczytując m.in. o axiosach w React.
Wobec tego, chciałbym Wam zadać pytania:
- Czy dobór Express.js dla planowego backendu nie wydaje się dziwny - może lepiej wykorzystać np. Nest.js?
- Czy szkic tego rozwiązania z takim obcym i własnym API jest w porządku?
- Czy warto rozważyć biblioteki typu math.js lub Immutable.js do implementacji wskaźników giełdowych, oscylatorów, itp?
- Czy należy unikać wspomnianych obliczeń w części frontendowej, nawet gdy wynikają bezpośrednio z JSONa, np. sum, średnich?
- Jak wizualizować te dane w React nie zaśmiecając kodu i aplikacji (aby nie było zbyt dużego korzystania z REST API, bo danych matematycznych będzie dużo jak na apkę pisaną popołudniami). Nie oczekuję na to pytanie odpowiedzi, bardziej czy możecie doradzić na jakie technologie / słowa klucze w React powinienem zwrócić uwagę?