kamenskiyyyy / movies-explorer-api

API дипломного проекта Movies Explorer в Яндекс.Практикуме с системами авторизации, регистрации пользователей и сохранением карточек фильмов.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Дипломный проект Movies Explorer

Express MongoDB Node JavaScript


Описание

Бэкенд часть SPA приложения Movie Explorer на Express.js. Схемы и модели созданы через Mongoose. Все роуты, кроме /signup и /signin, защищены. Используется валидация Joi и celebrate. При регистрации пользователя пароль хешируется модулем bcrypt с добавлением соли. Реализована централизованная обработка ошибок. Настроено логирование запросов и ошибок.

Ссылка на код фронтенд части приложения Movie Explorer

Задача

  • Написать бэкенд для проекта Movie Explorer

Роуты

Для пользователей:

Запрос Роут Описание
POST /signup Создаёт пользователя с переданными в теле email, password и name
POST /signin Проверяет переданные в теле почту и пароль и возвращает JWT
POST /signout Удаляет JWT из куков пользователя
GET /users/me Возвращает информацию о пользователе (email и имя)
PATCH /users/me Обновляет информацию о пользователе (email и имя)

Для фильмов:

Запрос Роут Описание
GET /movies Возвращает все сохранённые пользователем фильмы
POST /movies Создаёт фильм с переданными в теле country, director, duration, year, description image, trailer, nameRU, nameEN и thumbnail, movieId
DELETE /movies/movieId Удаляет сохранённый фильм по id

Стек

  • Node.js
  • Express.js
  • MongoDB
  • JavaScript
  • API

Установка

Для запуска на локальной машине необходимо:

  1. Установить npm зависимости:
npm install
  1. Запустить MongoDB:
npm run mongod
  1. Запустить в режиме разработки:
npm run start  — запускает сервер
npm run dev — запускает сервер с hot-reload

Если все прошло успешно, проект будет запущен на http://localhost:3030

About

API дипломного проекта Movies Explorer в Яндекс.Практикуме с системами авторизации, регистрации пользователей и сохранением карточек фильмов.


Languages

Language:JavaScript 100.0%