Skip to content

Приложение для любителей фильмов.

Notifications You must be signed in to change notification settings

Mithrilin/java-filmorate

Repository files navigation

java-filmorate

Это приложение предназначено для возврата, рекомендованных к просмотру, фильмов. Данный проект являлся групповым.
В нём принимали участие: Valerianjones1, Evgeniy9005, Scal3, xdpxrt, OlgaZrvn.

Используемый стэк: Spring Boot, SQL, PostgreSQL, JDBC Template, Lombok, Maven.

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

В этом приложении пользователи могут найти себе какие-нибудь интересные фильмы для просмотра. А так же оставлять рецензии на них.

Ниже приведён обобщённый список с функциями:

  • Добавление, обновление и удаление фильмов
  • Добавление, обновление и удаление пользователей
  • Получение списков всех фильмов и всех пользователей
  • Оставление, удаление и оценка полезности отзывов к фильмам
  • Получение фильмов, пользователей и отзывов по ид
  • Добавление и удаление пользователями друг друга в друзья
  • Получение списков индивидуальных и общих друзей
  • Добавление и удаление пользователями оценок к фильмам
  • Получение списков общих понравившихся фильмов
  • Получение списка популярных фильмов разного размера
  • Получение самого популярного фильма
  • Просмотр активности пользователей
  • Получение рекомендованных фильмов

Оценки, рейтинги и рекомендации.

Отдельно стоит остановиться на оценках, рейтингах и рекомендациях.
У пользователей есть возможность оставить оценку к фильму. На основе этих оценок, составляются рейтинги фильмов. При чём, этот рейтинг формируется таким образом, чтобы фильм всего с одной оценкой в 10 баллов не оказалось выше в рейтинге фильма с нескольким оценками по 9 баллов каждая. Рекомендации.
Алгоритм рекомендаций работает следующим образом: Сначала выявляются все пользователи, оценившие те же фильмы, что и целевой пользователь. Далее высчитывается тот пользователь, чья разница в оценках будет минимальная, т.е. пользователь с максимально похожими "вкусами". Затем, в качестве рекомендаций, целевому пользователю предлагаются все фильмы, которые положительно оценил "похожий" пользователь.

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

Схема

Тестирование

Если тесты не запускаются, то необходимо в файле application.properties изменить настройку сохранения базы данных. Сейчас база сохраняется в файл:
spring.datasource.url=jdbc:h2:file:./db/filmorate
Нужно сохранять в памяти:
spring.datasource.url=jdbc:h2:mem:filmorate

About

Приложение для любителей фильмов.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages