Node.js / NestJS

Node.js / NestJS

BACKEND

Sviluppo backend con Node.js runtime e framework NestJS TypeScript-first. Architettura modulare con decorator, dependency injection e supporto completo TypeScript per costruire REST API, GraphQL e microservizi enterprise altamente manutenibili.

Cosa imparerai

Framework NestJS con architettura modulare e decorator (@Controller, @Injectable)

TypeScript rigoroso con tipi avanzati e inferenza automatica

Dependency Injection nativa con container IoC e scope

Controller, Provider, Module per un'organizzazione chiara del codice

Guard per autenticazione, Pipe per validazione, Interceptor per trasformazione

TypeORM o Prisma per ORM con migration e relazioni complesse

Passport.js integrato per strategie di auth (JWT, OAuth2, local)

GraphQL con approccio code-first o schema-first

Microservizi con livelli di trasporto (TCP, Redis, gRPC, MQTT)

Testing completo (Jest, E2E, test unitari, mock, copertura)

Argomenti chiave da padroneggiare

I concetti più importanti per comprendere questa tecnologia e superare i colloqui

1

Node.js: Event Loop, I/O non bloccante, async/await, stream, buffer

2

Architettura NestJS: moduli, controller, provider, decorator

3

Dependency Injection: provider, scope (DEFAULT, REQUEST, TRANSIENT), provider personalizzati

4

Controller e routing: @Get, @Post, @Param, @Body, @Query, parametri di route

5

Provider e servizi: logica di business, pattern repository, livello di servizio

6

Middleware, Guard, Interceptor, Pipe, ExceptionFilter (ciclo di vita della request)

7

Validazione con class-validator e class-transformer (validazione DTO)

8

TypeORM: entity, relazioni (@OneToMany, @ManyToOne), repository, QueryBuilder

9

Prisma: schema, migration, client, relazioni, transazioni

10

Autenticazione: Passport.js, strategia JWT, guard, controllo di accesso basato sui ruoli

11

Configurazione: ConfigModule, variabili d'ambiente, validazione

12

Gestione eccezioni: HttpException, eccezioni personalizzate, filtri

13

Testing: test unitari con Jest, test E2E, mock, test double

14

GraphQL: resolver, schema, mutation, subscription, DataLoader

15

Microservizi: pattern (request-response, event-based), transporter

16

Performance: caching (Redis), compressione, rate limiting, profiling

17

Logging (Winston, Pino), monitoraggio, Docker, distribuzione