Movies-explorer-api является REST API cервиса movies-explorer, в котором можно найти фильмы по запросу и сохранить в личном кабинете. Включает в себя регистрацию, авторизацию пользователей, работу с БД.
URI ресурса:
- https://api.diploma.apl-by.ru;
- публичный IP сервера: 5.8.10.237;
Ссылка на front-end часть дипломного проекта: https://github.com/apl-by/movies-explorer-frontend;
Запуск сервера в режиме production:
npm run start
Запуск сервера в режиме разработки:
npm run dev
#возвращает информацию о пользователе (email и имя)
GET /users/me
# обновляет информацию о пользователе (email и имя)
PATCH /users/me
# возвращает все сохранённые пользователем фильмы
GET /movies
# создаёт фильм с переданными в теле
# country, director, duration, year, description, image, trailer, nameRU, nameEN, movieId, thumbnail
POST /movies
# удаляет сохранённый фильм по _id
DELETE /movies/movieId
# создаёт пользователя с переданными в теле
# email, password и name
POST /signup
# проверяет переданные в теле почту и пароль
# и возвращает JWT
POST /signin
# удаляет cookie c JWT на стороне клиента
POST /signout
email — почта пользователя, по которой он регистрируется, обязательное поле, уникальное, должно валидироваться на соответствие схеме электронной почты;
password — пароль, обязательное поле;
name — имя пользователя, обязательное поле от 2 до 30 символов;
country — страна создания фильма, обязательное поле-строка;
director — режиссёр фильма, обязательное поле-строка;
duration — длительность фильма, обязательное поле-число;
year — год выпуска фильма, обязательное поле-строка;
description — описание фильма, обязательное поле-строка;
image — ссылка на постер к фильму, обязательное поле-строка, URL;
trailer — ссылка на трейлер фильма, обязательное поле-строка, URL;
thumbnail — миниатюрное изображение постера к фильму, обязательное поле-строка, URL;
owner — _id пользователя, который сохранил статью, обязательное поле;
movieId — id фильма, который содержится в ответе сервиса MoviesExplorer, обязательное поле;
nameRU — название фильма на русском языке, обязательное поле-строка;
nameEN— название фильма на английском языке, обязательное поле-строка.
- Express(Node.js);
- MongoDb;
- mongoose;
- nodemon;
- bcryptjs;
- celebrate;
- cookie-parser;
- cors;
- dotenv;
- express-rate-limit;
- express-winston;
- helmet;
- jsonwebtoken;
- validator;
- winston.