Node.js / NestJS

Node.js / NestJS

BACKEND

Développement backend avec Node.js runtime et NestJS framework TypeScript-first. Architecture modulaire avec decorators, dependency injection et support TypeScript complet pour créer des APIs REST, GraphQL et microservices enterprise-grade hautement maintenables.

Ce que tu vas apprendre

NestJS framework avec architecture modulaire et decorators (@Controller, @Injectable)

TypeScript strict avec types avancés et inference automatique

Dependency Injection native avec IoC container et scopes

Controllers, Providers, Modules pour organisation claire du code

Guards pour authentification, Pipes pour validation, Interceptors pour transformation

TypeORM ou Prisma pour ORM avec migrations et relations complexes

Passport.js intégré pour stratégies d'auth (JWT, OAuth2, local)

GraphQL avec code-first ou schema-first approach

Microservices avec transport layers (TCP, Redis, gRPC, MQTT)

Testing complet (Jest, E2E, unit tests, mocking, coverage)

Sujets clés à maîtriser

Les concepts les plus importants pour comprendre cette techno et réussir tes entretiens

1

Node.js : Event Loop, non-blocking I/O, async/await, streams, buffers

2

NestJS architecture : modules, controllers, providers, decorators

3

Dependency Injection : providers, scopes (DEFAULT, REQUEST, TRANSIENT), custom providers

4

Controllers et routing : @Get, @Post, @Param, @Body, @Query, route params

5

Providers et services : business logic, repository pattern, service layer

6

Middleware, Guards, Interceptors, Pipes, ExceptionFilters (request lifecycle)

7

Validation avec class-validator et class-transformer (DTO validation)

8

TypeORM : entities, relations (@OneToMany, @ManyToOne), repositories, QueryBuilder

9

Prisma : schema, migrations, client, relations, transactions

10

Authentication : Passport.js, JWT strategy, guards, role-based access control

11

Configuration : ConfigModule, environment variables, validation

12

Exception handling : HttpException, custom exceptions, filters

13

Testing : unit tests avec Jest, E2E tests, mocking, test doubles

14

GraphQL : resolvers, schemas, mutations, subscriptions, DataLoader

15

Microservices : patterns (request-response, event-based), transporters

16

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

17

Logging (Winston, Pino), monitoring, Docker, deployment