Movies Explorer

Репозиторий для API Movies Explorer - сервис, в котором можно найти фильмы по запросу и сохранить в личном кабинете. Проект был реализован в рамках дипломной работы на платформе Яндекс.Практикум.

Стек технологий:

  • JavaScript;
  • NodeJS;
  • Express.js;
  • MongoDB;
  • Postman.

Фукционал:

  • Все роуты, кроме аутентификации и авторизации, защищены авторизацией.
  • Настроено логгирование (запросы и ответы записываются в request.log, ошибки записываются в error.log).
  • Данные, которые приходят в теле и параметрах запроса, валидируются.
  • Ошибки обрабатываются централизованным обработчиком.
  • Для ошибок API созданы классы, расширяющие конструктор Error.
  • Реализовано бережное хранение пароля (пароль хранится в виде хеша, API не возвращает хеш пароля клиенту).

API:

  • Создание пользователя с переданными в теле email, password и name.
    POST/signup
  • Проверка переданных в теле почты и пароля и возвращение JWT
    POST/signin
  • Получение информации о пользователе (email и имя)
    GET/users/me
  • Обновление информации о пользователе (email и имя)
    PATCH/users/me
  • Получение всех фильмов, сохранённых текущим пользователем
    GET/movies
  • Создание фильма с переданными в теле country, director, duration, year, description, image, trailer, nameRU, nameEN и thumbnail, movieId
    POST/movies
  • Удаление сохранённого фильма по id
    DELETE/movies/_id

Как установить и запустить проект:

  • Клонировать репозиторий:
    git clone https://github.com/annavilnid/movies-explorer-api.git
  • Установить зависимости:
    npm install
  • Собрать проект Вебпаком:
    npm run build
  • Запустить проект на локальном сервере:
    npm run dev

Сейчас сервер выключен, когда сервер включен проект доступен: