Улучшаемые навыки
TypeScript
NestJS
Express.js
Fastify
REST API
JWT
Docker
WebSocket
SSE
PostgreSQL
MongoDB
Prisma
Redis
Swagger (OpenAPI)
Unit-тестирование
Архитектура приложений (SOLID, DI)
Инструменты
Чему вы научитесь
01
Проектировать и разрабатывать RESTful API на Express, Fastify и NestJS.
02
Внедрять Dependency Injection и строить модульную архитектуру.
03
Настраивать JWT-авторизацию (access + refresh tokens) с хешированием паролей (argon2).
04
Автоматически генерировать документацию API с помощью Swagger (OpenAPI).
05
Работать с PostgreSQL через Prisma (и понимать, как применять это с MongoDB)
06
Использовать Redis для базового кэширования.
07
Контейнеризировать приложение (API + БД) через Docker и docker-compose.
08
Интегрировать real-time уведомления (WebSocket) и стриминг данных от LLM (SSE).
09
Писать unit-тесты с использованием встроенного node:test.
10
Настраивать логирование и проверку состояния сервиса.
Программа курса
01
Фундамент: архитектура + TypeScript
Event Loop, ESM-only проекты.
Конфигурация TS для продакшена (Path aliases, strict mode)
02
Экосистема и инструменты
Менеджеры пакетов (pnpm). Hot-reload с nodemon и встроенным node --watch. PM2 как dev-инструмент.
Практика: инициализация проекта, настройка скриптов.
03
Веб-фреймворки (Express + Fastify)
Express: маршрутизация, middleware. Fastify: валидация схем, скорость.
Практика: один и тот же REST API на двух фреймворках.
04
NestJS — enterprise-стандарт
Архитектура: модули, контроллеры, провайдеры, DI.
Валидация DTO с Zod (class-validator как альтернатива). Глобальные фильтры исключений.
Практика: REST API на NestJS.
05
Работа с данными (MongoDB + fs)
PostgreSQL + Prisma: схемы, миграции, CRUD.
Практика: интеграция с NestJS. Краткое сравнение с подходом для MongoDB.
06
Безопасность и авторизация
Хеширование паролей: argon2 (почему не bcrypt). JWT: access-JWT (access + refresh токены), хеширование паролей с argon2. Защита API: Helmet, CORS, rate-limiting.
Практика: регистрация/логин/защита роутов.
07
Enterprise-практики: Документация, кэш, логи
Swagger (@nestjs/swagger) для авто-документации.
Redis для кэширования (демо).
Логирование с pino и health-checks.
Практика: генерация OpenAPI, кэширование запроса.
08
Real-time, AI и Docker
WebSocket для уведомлений.
Бонус: Node как бэкенд для LLM (стриминг через SSE). Dockerfile (multi-stage), docker-compose.
Практика: демо чата, сборка проекта.
Встроенный node:test. Самостоятельное создание мини-API на NestJS.
Требования: TypeScript + БД + JWT + тест + Docker.
Проверка — код-ревью.
10
Итого на курс 11 ч: 4 ч – теории; 7 ч – практики; + 3-5 часов на домашние задания в рамках практики
Для кого
Разработчик
Предварительная подготовка
Опыт разработки на JavaScript от 6-12 месяцев. Понимание асинхронности (Promises, Async/Await) и основ HTTP/REST. Курс нацелен на Junior-разработчиков, желающих систематизировать знания для перехода на Middle-уровень.