Проект Место - проектная работа по профессии веб-разработчик курса Яндекс Практикум
Ссылка на готовый проект: Mesto Russia React-Express
Написать и развернуть бекенд для учебного проекта Mesto.
В проекте задействованы две сущности: пользователи и карточки. Схемы и модели созданы через Mongoose
с валидируемыми полями. Все роуты, кроме логина и логаута, защищены мидлвэрей auth
, которая проверяет Authorization и наличие в нем токена в приходящих запросах. Обращение к API происходит через роуты с валидацией запросов через Joi
и celebrate
. В контроллерах описана логика обработки запросов. Контроллер логина создает JWT токен
сроком на неделю. В контроллере регистрации пользователя пароль хешеруется модулем bcryptjs
. В проекте реализована централизованная обработка ошибок через конструкторы ошибок - конструкторы передаются в блоках catch через функцию next и далее в мидлвэр обработки ошибок в app.js. Для логгирования запросов и ошибок используется библиотека Winston
.
- HTML, CSS
- Javascript
- React
- Node
- Express
- MongoDB