Серверная часть сервиса поиска фильмов по запросу на ресурсе Beat Film с возможностью сохранять понравившиеся фильмы в личном кабинете.
Адрес сервера: https://api.izhubrov-mov-explorer.nomoredomains.monster
Серверная часть проекта написана с помощью фреймворка Express для приложений Node.js и взаимодействующую с базой данных Mongo. Реализована возможность работы с фильмами и профилем пользователя, регистрации, логина и аутентификации пользователя с централизованной обработкой ошибок. Добавление фильмов в список понравившихся и удаление из списка.
- Установите Node.js
- Установите Git Bash для Windows OS
- Склонируйте проект https://github.com/izhubrov/movies-explorer-api.git
- Установите необходимые зависимости из package.json (dependencies и devdependencies)
- Установите Mongo database
- Для локального запуска введите команду npm run start (Развернется сервер по адресу http://localhost:3001).
- Для запуска в режиме разработчика с горячим перезапуском введите команду npm run dev.
- Тестирование запросов к базе данных можно осуществлять с помощью Postman (нужно выбрать тип запроса из нижеуказанного списка и указать адрес сервера http://localhost:3001 , эндпоинты выбрать из нижеуказанного списка для соответствующего запроса).
-
Создание сервера с помощью фреймворка Express по адресу http://localhost:3001
-
Создание NoSql базы данных карточек и пользователей по адресу mongodb://localhost:27017/
-
Обработка CORS
-
Логирование запросов и ошибок
-
Возможность обработки следующих запросов:
POST /signup - регистрация пользователя
POST /signin - вход пользователя
POST /signout - выход пользователя
GET /users/me - возвращает текущего пользователя
POST /users — создаёт пользователя
PATCH /users/me — обновляет профиль
GET /movies — возвращает все сохраненные фильмы для текущего пользователя
POST /movies — добавляет фильм в список понравившихся
DELETE /movies/:movieId — удаляет фильм из списка понравившихся
-
Обрабатывать ошибки в запросах
-
Возвращать данные пользователю на front-end
-
Хешировать пароль пользователя
-
Сохранять токен пользователя в куки.
-
Ограничивать число запросов к серверу
- Модули express, mongoose, route
- Middlewares
- Схемы и модели mongoose
- Роуты и Контроллеры
- Joi валидация
- bcryptjs шифрование пароля хеш функцией с солью
Реализована серверная часть сервиса поиска фильмов с возможностью обработки вышеуказанных Get, post, delete, patch запросов к базе данных Mongo. Реализована обработка ошибок в запросах. Реализовано шифрование пароля. Реализовано сохранение токена пользователя в куки браузера.