+7 (812) 703-02-02 info@hse.spbstu.ru

BEND-NEST. Разработка серверной части web-приложения с использованием фреймворка Nest на TypeScript

Длительность дисциплины: 36 ак.ч.


Аннотация

В данном курсе рассматривается использование концепции реактивного программирования с использованием библиотеки RxJS и Фреймворка Angular на языке TypeScript.


Знания и умения, полученные в результате изучения

В ходе обучения слушатели научатся:

  • создавать серверную часть веб приложения с использованием фреймворка Nest на языке TypeScript;
  • обрабатывать запросы, пришедшие со стороны frontend-приложения;
  • реализовывать REST-интерфейс для взаимодействия с frontend-приложением.

После обучения на курсе слушатели будут знать:

  • архитектуру и принципы развертывания веб-приложений;
  • принципы клиент-серверного взаимодействия;
  • принципы построения REST API;
  • возможности фремворка Nest для создания серверной части web-приложения.

Также слушатели курса получат практический опыт:

  • разработки серверной части web-приложения с использованием фреймворка Nest;
  • реализации REST-интерфейсов для взаимодействия компонент web-приложения.

Содержание дисциплины

Тема 1. Введение в серверную разработку

  • Архитектура современных приложений
  • Построение API по принципам REST
  • Программная платформа Node.js
  • Nest
  • Введение в базы данных. MongoDB
  • Введение в контеренизацию с Docker

Практические занятия

  • Создание веб-приложения с использованием фреймворка Nest

Тема 2. Создание REST API

  • Модули
  • Контроллеры
  • Сервисы
  • Работы с MongoDB с помощью ODM Mongoose

Практические занятия

  • Получение веб-приложением данных из MongoDB

Тема 3. Обработка ошибок

  • Обработка ошибок
  • Валидация схем
  • Глобальный обработчик ошибок

Практические занятия

  • Реализация обработчика ошибок в приложении

Тема 4. Валидация данных

  • Валидация на основе декораторов
  • Введение в pipes

Практические занятия

  • Использование декораторов для валидации данных

Тема 5. Логирование

  • Логирование работы серверной части веб-приложения
  • Детализация и формат логирования

Практические занятия

  • Настройка и реализация логирования серверной части web-приложения

Тема 6. Аутентификация и авторизация в Nest

  • Поддерживаемые механизмы аутентификации и авторизации
  • Обределение неанонимных частей веб-приложения
  • Передача данных аутентификации с клиентской части веб-приложения

Практические занятия

  • Реализация пользовательской аутентификации в web-приложении

Тема 7. Введение в интеграционное тестирование сервера

  • Интеграционное тестирование
  • Реализация интеграционного тестирования
  • Основные инструменты интеграционного тестирования

Практические занятия

  • Реализация интеграционного тестирования в web-проекте

Тема 8. Развертывание на VPS/AWS

  • Варианты организации хостинга для Web-приложений
  • Обеспечения работоспособности компонент используемого MEAN-стека

Практические занятия

  • Выполнение развертывания приложения на хостинге