NestJS
Модулі та провайдери, DI, guards і interceptors, робота з базою та тестування.
Навіщо потрібен фреймворк, як модулі організовують код великого застосунку та які хуки спрацьовують під час його запуску й зупинки.
Як IoC-контейнер створює сервіси та керує їхньою областю видимості, як зчитувати налаштування зі змінних середовища й збирати модулі динамічно.
Оброблення HTTP-запитів: маршрути та їхні параметри, опис вхідних даних через DTO, власні декоратори й опис ендпоінтів у Swagger.
Порядок, у якому middleware, guards, interceptors, pipes і фільтри винятків виконуються навколо обробника маршруту, та за що відповідає кожен етап.
Стратегії Passport, видача й перевірка JWT-токенів та розмежування доступу за ролями на захищених маршрутах.
Підключення TypeORM, робота з сутностями та репозиторіями, а також кешування, яке зменшує навантаження на базу даних.
Транспорти поза межами REST: схеми й резолвери GraphQL та двосторонній обмін повідомленнями через шлюзи WebSocket.
Розподілена архітектура: транспорти для мікросервісів, фонові черги завдань і поділ команд та запитів.
Модульні та наскрізні тести з Testing Module: підміна залежностей моками й перевірка повністю запущеного застосунку.