> For the complete documentation index, see [llms.txt](https://vladimirzubavlenko.gitbook.io/mephi-kaf42-web-dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://vladimirzubavlenko.gitbook.io/mephi-kaf42-web-dev/express-nodejs/laboratornaya-rabota-2.md).

# Лабораторная работа №2

Расширяем возможности приложения из л/р №1.&#x20;

1\) Пишем middleware, реализующий защиту части маршрутов(по выбору). Т.е. из 3 заданий, 1 должно быть доступно без аутентификации, 2 и 3 только с ней.(как в примере в выступлении Спартака, через query параметр)\
2\) Пишем middleware для логирования всех запросов(в консоль)\
3\) Пишем middleware для сохранения запросов, вызывающих ошибки(403, 404, 500), в файл.\
4\) Приступаем к шаблонам. Сделать 1 главный шаблон для приложения(с футером и меню) -> использовать PUG или HBS -> выбор за вами\
5\) Сделать 3 странички для отправки параметров к заданиям(через шаблоны)\
6\) Сделать еще 3, на каждой отдельной странице вывод решения задачи из 1 лабки(через шаблоны)

{% hint style="info" %}
[**https://youtu.be/8bE\_PBRriyU**](https://youtu.be/8bE_PBRriyU) **-> handlebars, cloud mongoDB**
{% endhint %}
