Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Описание сервиса FILMORATE

Работает с фильмами и оценками пользователей

  • Возможности взаимодействия с фильмами:

    • Создать
    • Обновить имеющийся
    • Вывод по идентификатору
    • Вывод всех фильмов
    • Cоставлять рейтинги
    • Ставить лайки
    • Получать рекомендации по фильмам для просмотра
    • Вывод общих с другом фильмов с сортировкой по их популярности
    • Вывод топ-N фильмов отсортированных по жанру и году
    • Возвращать все фильмы режиссёра, отсортированных по количеству лайков
    • Возвращать все фильмы режиссёра, отсортированных по годам.
    • Поиск фильма по названию и по режиссеру
    • Удалить фильм по идентификатору
  • Возможности по режиссерам:

    • Создать
    • Обновить
    • Получить по идентификатору
    • Получить список всех режиссеров
    • Удалить режиссера по идентификатору
  • Возможности по отзывам:

    • Добавить новый отзыв
    • Редактировать и удалять уже имеющийся отзыв
    • Получить отзыв по идентификатору
    • Получить все отзывы по идентификатору фильма
  • Возможности пользователей:

    • Создать
    • Обновить имеющегося
    • Вывод по идентификатору
    • Вывод всех пользователей
    • Добавить и удалить друга
    • Получить список общих друзей
    • Найти пользователей с максимальным количеством пересечения по лайкам
    • Удалить пользователя по идентификатору
  • Лента событий - возможность просмотра последних событий на платформе:

    • Добавление в друзья
    • Удаление из друзей
    • Лайки и отзывы, которые оставили друзья пользователя
  • Сохранение состояния данных после перезапуска

Схема БД

Filmorate database scheme

Описание схемы:

USERS

Первичный ключ: id

Хранит информацию о пользователях:

  • id - Уникальный идентификатор пользователя
  • name - Имя пользователя
  • email - Электронная почта
  • login - Логин пользователя
  • birthday - Дата рождения

FRIENDSHIP

Первичный ключ: user_id, friend_id

Хранит информацию о дружбе между пользователями:

  • user_id - Идентификатор пользователя
  • friend_id - Идентификатор друга
  • accepted - Дружба подтверждена

FILMS

Первичный ключ: id

Хранит информацию о фильмах:

  • id - Уникальный идентификатор фильмов
  • name - Название фильма
  • description - Описание фильма
  • release_date - Дата выхода
  • duration - Длительность в минутах
  • mpa - Рейтинг ассоциации MPA

LIKES

Первичный ключ: user_id, film_id

Хранит информацию о лайках, которые пользователи ставят фильмам

  • user_id - Идентификатор пользователя
  • film_id - Идентификатор фильма

FILM_GENRE

Первичный ключ: film_id, genre_id

Связывает фильмы с жанрами:

  • film_id - Идентификатор фильма
  • genre_id - Идентификатор жанра

GENRES

Первичный ключ: id

Хранит информацию о жанрах фильмов:

  • id - Уникальный идентификатор жанров
  • name - Название жанра

MPA

Первичный ключ: id

Хранит информацию о рейтингах MPA:

  • id - Уникальный идентификатор
  • name - Код рейтинга
  • description - Описание рейтинга

DIRECTORS

Первичный ключ: id

Хранит информацию о режиссерах:

  • id - Уникальный идентификатор режиссера
  • name - Имя режиссера

FILM_DIRECTOR

Первичный ключ: film_id, director_id

Связывает фильмы с режиссерами:

  • film_id - Идентификатор пользователя
  • director_id - Идентификатор режиссера

REVIEWS

Первичный ключ: id

Хранит информацию об отзывах:

  • id - Уникальный идентификатор отзыва
  • user_id - Идентификатор пользователя
  • film_id - Идентификатор фильма
  • content - Содержание отзыва
  • is_positive - Состояние отзыва
  • useful - Рейтинг отзыва

REVIEW_USER

Первичный ключ: review_id, user_id

Связывает пользователя и отзывы:

  • review_id - Идентификатор отзыва
  • user_id - Идентификатор пользователя
  • val - Оценочное значение

FEED

Первичный ключ: event_id

Хранит информацию о событиях и связывает с пользователем:

  • event_id - Уникальный идентификатор событий
  • timestamp - Время события
  • user_id - Идентификатор пользователя
  • even_type - Тип события
  • operation - Описание события
  • entity_id - Идентификатор сущности

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages