Node.js / NestJS

Node.js / NestJS

BACKEND

Backend-розробка з Node.js runtime та NestJS TypeScript-first фреймворком. Модульна архітектура з декораторами, dependency injection та повною підтримкою TypeScript для побудови високопідтримуваних REST API, GraphQL та enterprise-мікросервісів.

Чому ти навчишся

Фреймворк NestJS з модульною архітектурою та декораторами (@Controller, @Injectable)

Суворий TypeScript з розширеними типами та автоматичним виведенням

Нативний Dependency Injection з IoC-контейнером та scope

Controller, Provider, Module для чіткої організації коду

Guard для автентифікації, Pipe для валідації, Interceptor для трансформації

TypeORM або Prisma для ORM з міграціями та складними зв'язками

Інтегрований Passport.js для стратегій auth (JWT, OAuth2, local)

GraphQL з підходом code-first або schema-first

Мікросервіси з транспортними рівнями (TCP, Redis, gRPC, MQTT)

Комплексне тестування (Jest, E2E, модульні тести, mock, покриття)

Ключові теми для опанування

Найважливіші концепції для розуміння цієї технології та проходження співбесід

1

Node.js: Event Loop, неблокуючий I/O, async/await, stream, buffer

2

Архітектура NestJS: модулі, контролери, провайдери, декоратори

3

Dependency Injection: провайдери, scope (DEFAULT, REQUEST, TRANSIENT), кастомні провайдери

4

Контролери та маршрутизація: @Get, @Post, @Param, @Body, @Query, параметри маршруту

5

Провайдери та сервіси: бізнес-логіка, патерн репозиторію, сервісний рівень

6

Middleware, Guard, Interceptor, Pipe, ExceptionFilter (життєвий цикл запиту)

7

Валідація з class-validator та class-transformer (DTO-валідація)

8

TypeORM: entity, зв'язки (@OneToMany, @ManyToOne), репозиторії, QueryBuilder

9

Prisma: схема, міграції, клієнт, зв'язки, транзакції

10

Автентифікація: Passport.js, JWT-стратегія, guard, рольовий контроль доступу

11

Конфігурація: ConfigModule, змінні середовища, валідація

12

Обробка винятків: HttpException, кастомні винятки, фільтри

13

Тестування: модульні тести з Jest, E2E-тести, mock, test double

14

GraphQL: resolver, схеми, mutation, subscription, DataLoader

15

Мікросервіси: патерни (request-response, event-based), транспортери

16

Продуктивність: кешування (Redis), стиснення, обмеження швидкості, профілювання

17

Логування (Winston, Pino), моніторинг, Docker, розгортання