Nest.js jest dla JavaScriptu tym, czym dla Javy jest Spring, czyli dostarcza mechanizmów do tworzenia kontrolerów. Korzysta wówczas z dekoratorów – dla oznaczenia metod obsługujących konkretne metody, czyli np. @Get, @Post itd., oraz dla oznaczenia samych kontrolerów poprzez dekorator @Controller() (parametrem tego dekoratora jest ścieżka do zasobu). Do klas usług, które będą wstrzykiwane, dodajemy z kolei dekorator @Injectable.
Mamy również do dyspozycji narzędzie do tworzenia inicjalnego projektu oraz jego poszczególnych składowych (moduł, kontroler, usługa i wiele innych).
Framework korzysta z dobrodziejstw innych bibliotek i frameworków. Pod maską znajdziemy domyślnie express js jako serwer http. Opcjonalnie można skorzystać z innego silnika – architektura teoretycznie pozwala na podpięcie dowolnego serwera http.
Do autentykacji jest używany popularny framework passport js. W przypadku, gdy do tego celu używamy standardowej metody użytkownik/hasło, jego użycie sprowadza się do napisania usługi i zaimplementowania jednej metody.
W zestawie jest również klient bazy danych wraz z mapowaniem relacji na obiekty – tutaj jest wykorzystywana biblioteka typeorm. Jeżeli ktoś używa MongoDb, to na pokładzie znajdzie również Mongoose.
Framework integruje kilka innych bibliotek oraz dostarcza mechanizmów do realizacji wielu różnych scenariuszy (jak np. mikroserwisy lub graphql). Jest bardzo dobrze udokumentowany. Na oficjalnej stronie z dokumentacją przedstawiony jest szczegółowo każdy aspekt tej biblioteki wraz z przykładami. Próg wejścia jest bardzo niski, zwłaszcza jeżeli masz już doświadczenie z technologiami wspomnianymi na samym początku.
Sądzę, że jest to bardzo udany projekt, który kompleksowo podchodzi do tworzenia backendu korzystając przy tym z wielu sprawdzonych rozwiązań. O jego popularności i dojrzałości niech świadczy to, że na githubie w momencie pisania tych słów projekt ma 23 tysiące gwiazdek. Jeżeli rozważasz tworzenie aplikacji webowej na platformie node.js, to jest to bardzo dobry punkt startu.