Skip to content

ciiska5/java-filmorate

Repository files navigation

Filmorate

Описание

Фильмов много — и с каждым годом становится всё больше. Чем их больше, тем больше разных оценок. Чем больше оценок, тем сложнее сделать выбор.

Сервис Filmorate предназначен для работы с фильмами и оценками пользователей, а также возвращает топ фильмов, рекомендованных к просмотру. Теперь ни вам, ни вашим друзьям не придётся долго размышлять, что посмотреть вечером.

Функционльность проекта

Функциональность эндпонта /films

POST /films - создание и добавление нового фильма

PUT /films - обновление данных фильма

GET /films - получение всех фильмов

GET /films/{id} - получение фильма по его уникальному id

PUT /films/{id}/like/{userId} - добавление пользователем с идентификатором userId лайка фильму с идентификатором id

DELETE /films/{id}/like/{userId} - удаление пользователем с идентификатором userId лайка c фильма с идентификатором id

GET /films/popular?count={count} - получение списка самых популярных фильмов, в параметре запроса count передается число фильмов, которые необходимо вывести (по умолчанию = 10)

Функциональность эндпонта /genres

GET /genres - получение списка всех жанров фильмов

GET /genres/{id} - получение жанра фильма по его id

Функциональность эндпонта /mpa

GET /mpa - получение списка всех рейтингов фильмов (MPA)

GET /mpa/{id} - получение рейтинга фильма (MPA) по его id

Функциональность эндпонта /users

POST /users - создание нового пользователя

PUT /users - обновленние данных пользователя

GET /users - получение списка всех пользователей

GET /users/{id} - получение пользователя по его id

PUT /users/{id}/friends/{friendId} - добавление в друзья пользователем с идентификатором id пользователя с идентификатором friendId

DELETE /users/{id}/friends/{friendId} - удаление пользователем с идентификатором id из друзей пользователя с идентификатором friendId

GET /users/{id}/friends - получение списка друзей пользователя с идентификатором id

GET /users/{id}/friends/common/{otherId} - получение списка общих друзей пользователя с идентификатором id и пользователя с идентификатором otherId

Схема базы данных

fimorate_DB_scheme

Она состоит из 7 таблиц:

Название таблицы Описание
films таблица с фильмами
genres таблица с жанрами фильмов
MPA_ratings таблица с рейтингами в соответствии с Motion Picture Association
users таблица с пользователями
film_genre таблица с фильмами и с соответствующими им жанрами
likes таблица с фильмами и с пользователями, которым понравился соответствующий фильм
friendship_status таблица со статусом дружбы между двумя пользователями, где user_id_from - пользователь, отправивший запрос на дружбу пользователю user_id_to

About

Template repository for Filmorate project.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages