• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Czy to API jest napisane prawidłowo?

Object Storage Arubacloud
0 głosów
227 wizyt
pytanie zadane 11 marca 2020 w JavaScript przez Cholewka Początkujący (420 p.)
Cześć, przez jakiś czas ostatnio pracowałem nad REST API mojej aplikacji napisanym w Node.js. Pisałem je po raz pierwszy i starałem się korzystać z jak najlepszych praktyk, jednakże chciałbym się zapytać, czy te endpointy są prawidłowe, czy wszystko działa dobrze i jest poprawie skatalogowane? Z góry dziękuje. Link do kodu: https://github.com/ftasker/api

2 odpowiedzi

+1 głos
odpowiedź 11 marca 2020 przez Ehlert Ekspert (212,670 p.)
wybrane 11 marca 2020 przez Cholewka
 
Najlepsza
  1. Nie podoba mi się całą logika w kontrolerze. Może warto gdzieś to poprzenosić, wydzielić? 
  2. Cały plik services do refaktoryzacji i porozbijania na mniejsze funkcje. 
  3. Ogarnij funkcję exec po query do Mongo, wtedy możesz dać await przed i oszczędzić sobie piekła zagnieżdżeń.
  4. Mongoosem posługujesz się bezpośrednio w kontrolerach, powstaje przez to pełno ifow. Wyciąganie danych warto przenieść do innej warstwy / miejsca.
  5. Zacznij pisać testy jednostkowe, to sam sobie wskażesz, które miejsca są do kitu laugh​​​​​​
  6. A może Typescript? cheeky​​​​​​
  7. W server robisz jakieś sprawdzenia czy są parametry. Zupełnie zbędnie. Nie będzie parametrów, to apka się i tak wywali i tyle. Chcesz je koniecznie sprawdzać, ok ale na pewno nie tam.
  8. Sama funkcja validateJWT trochę do kitu. Najpierw wyciągasz z Mongo a potem z niej korzystasz? Na etapie kontrolera wszystkie dane powinieneś mieć dostarczone. Znowu pojawia się temat wydzielenia miejsca czy użytkownik api ma dostęp do danego zasobu.
  9. Szkoda że nie ma testów, ani dockera. Pm2 mógłby się przydać.
komentarz 12 marca 2020 przez Cholewka Początkujący (420 p.)
  1. Więc co sugerujesz, wydzielenie wszystkich funkcji do różnych folderów? Zeszłym razem robiłem coś takiego i nawigowanie po takich kontrolerach było raczej mierne. frown
  2. Rzeczywiście!
  3. Też dobry pomysł.
  4. Niegłupie, mógłbym to wrzucić w jakiś middleware może.
  5. Okej, dobry plan na przyszłość!
  6. Z ust mi to wyjąłeś. laugh
  7. Rzeczywiście!
  8. Faktycznie, wrzuce to w middleware.
  9. Co do testów to na pewno będą, aczkolwiek co do Dockera, to nie wiem. Pm2 to będzie już na produkcji na moim serwerze. smiley

Dziękuje za review! heart

0 głosów
odpowiedź 11 marca 2020 przez Mariusz08 Maniak (62,300 p.)

https://github.com/ftasker/api/blob/master/src/config/mongoconfig.js takie dane nie powinny byc wrzucane na gita

komentarz 11 marca 2020 przez Cholewka Początkujący (420 p.)

No przecież moje API będzie na takim samym serwerze co strona internetowa, więc każdy kto wie jak działa MongoDB będzie mógł wydedukować jaka jest ścieżka do bazy danych. frown

komentarz 11 marca 2020 przez Mariusz08 Maniak (62,300 p.)
Em... no nie. a) Takie dane po prostu nie powinny być wrzucane na gita (szczególnie publicznego) b) Z tego co wiem istnieje coś takiego jak remote connection w mongo, i bazę możesz mieć pod zupełnie innym adresem.
komentarz 11 marca 2020 przez Cholewka Początkujący (420 p.)
W porządku, dam to do environmentów i zadbam o jakieś hasła w mojej bazie. Dziękuje za spostrzeżenie.

Podobne pytania

0 głosów
1 odpowiedź 148 wizyt
pytanie zadane 22 stycznia 2018 w JavaScript przez Anoonymous Obywatel (1,560 p.)
0 głosów
1 odpowiedź 305 wizyt
pytanie zadane 14 grudnia 2016 w Inne języki przez Kornelia Kobiela Nałogowiec (33,340 p.)
+1 głos
1 odpowiedź 945 wizyt

92,576 zapytań

141,426 odpowiedzi

319,651 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...