Node.js / NestJS

Node.js / NestJS

BACKEND

Rozwój backendu z Node.js runtime i NestJS frameworkiem TypeScript-first. Modularna architektura z dekoratorami, wstrzykiwaniem zależności i pełnym wsparciem TypeScript do budowania wysoce utrzymywalnych REST API, GraphQL i mikroserwisów klasy enterprise.

Czego się nauczysz

Framework NestJS z modularną architekturą i dekoratorami (@Controller, @Injectable)

Ścisły TypeScript z zaawansowanymi typami i automatyczną inferencją

Natywne Dependency Injection z kontenerem IoC i zakresami

Kontrolery, Providery, Moduły dla przejrzystej organizacji kodu

Guardy do uwierzytelniania, Pipe do walidacji, Interceptory do transformacji

TypeORM lub Prisma do ORM z migracjami i złożonymi relacjami

Zintegrowany Passport.js do strategii auth (JWT, OAuth2, local)

GraphQL z podejściem code-first lub schema-first

Mikroserwisy z warstwami transportu (TCP, Redis, gRPC, MQTT)

Kompleksowe testowanie (Jest, E2E, testy jednostkowe, mockowanie, pokrycie)

Kluczowe tematy do opanowania

Najważniejsze pojęcia do zrozumienia tej technologii i zdania rozmów

1

Node.js: Event Loop, nieblokujące I/O, async/await, strumienie, bufory

2

Architektura NestJS: moduły, kontrolery, providery, dekoratory

3

Dependency Injection: providery, zakresy (DEFAULT, REQUEST, TRANSIENT), niestandardowe providery

4

Kontrolery i routing: @Get, @Post, @Param, @Body, @Query, parametry tras

5

Providery i serwisy: logika biznesowa, wzorzec repozytorium, warstwa serwisów

6

Middleware, Guardy, Interceptory, Pipe, ExceptionFilter (cykl życia żądania)

7

Walidacja z class-validator i class-transformer (walidacja DTO)

8

TypeORM: encje, relacje (@OneToMany, @ManyToOne), repozytoria, QueryBuilder

9

Prisma: schemat, migracje, klient, relacje, transakcje

10

Uwierzytelnianie: Passport.js, strategia JWT, guardy, kontrola dostępu oparta na rolach

11

Konfiguracja: ConfigModule, zmienne środowiskowe, walidacja

12

Obsługa wyjątków: HttpException, niestandardowe wyjątki, filtry

13

Testowanie: testy jednostkowe z Jest, testy E2E, mockowanie, test double

14

GraphQL: resolvery, schematy, mutacje, subskrypcje, DataLoader

15

Mikroserwisy: wzorce (request-response, event-based), transportery

16

Wydajność: cache (Redis), kompresja, ograniczanie szybkości, profilowanie

17

Logowanie (Winston, Pino), monitorowanie, Docker, wdrażanie