[go: up one dir, main page]

Skip to content

Бэкенд сервиса, который будет работать с фильмами и оценками пользователей.

Notifications You must be signed in to change notification settings

devShurakov/java-Filmo-Rate

Repository files navigation

FilmoRate. Приложение для поиска фильмов и работы с оценками пользователей.

Пэт проект в рамках учебной программы Яндекс.

Films API Tests

Описание:

Бэкенд для сервиса, который будет работать с фильмами и оценками пользователей, а также возвращать топ фильмов, рекомендованных к просмотру. Приложение представляет собой монолитную структуру. Оcсновные объекты взаимодействия:

  • пользователи
  • фильмы, режиссёры и жанры
  • рейтинги возрастных ограничений
  • отзывы, лента событий,

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

  • добавление и хранение данных в памяти;
  • добавление и хранение данных в файле;
  • добавление и хранение дыных в базе данных;
  • доступ к методам менеджера через HTTP-запросы.

Схема Базы Данных:

This is an image

Выводит все поля из таблицы Film;

SELECT film_id, name, description, release_date, duration, mpa
FROM Film

Выводит все поля у фильма с Id = ?

SELECT * 
FROM Film AS f LEFT JOIN likes AS l ON f.film_id = l.film_id 
WHERE f.film_id = ? 
GROUP BY f.film_id, l.id;

Выводит топ-х фильмов, где х =?

SELECT f.film_id, f.name, f.description, f.release_date, f.duration, f.mpa, l.id 
FROM likes AS l 
RIGHT JOIN Film AS f ON f.film_id = l.film_id 
GROUP BY f.film_id, l.id 
ORDER BY COUNT(l.id) DESC LIMIT ?

Выводит список общих друзей между пользователями с id = ?

SELECT f.friend_id, u.id, u.email, u.login, u.name, u.birthday 
FROM friends AS f 
LEFT JOIN friends AS fr ON f.friend_id = fr.friend_id 
INNER JOIN Person AS u ON f.friend_id = u.id 
WHERE f.id = ? AND fr.id = ? 
GROUP BY f.friend_id;

Как запускать приложение ?

  • склонировать проект из ветки add-database и открыть его в IntelliJ IDEA
  • выполнения сборку проекта
  • запустить выполнение главного метода программы Main класса FilmorateApplication.

Тестирование проекта:

Проверить работоспособность приложения, можно с помощью готовой коллекции тестов в Postman или запустив модульные тесты из папки test, которая находится в дирректории проекта.

Технологический стек:

Java 11 11 Spring Boot 2.7.2 2.7.2 H2 Postgres SQL Postgres SQL Lombock Apache JDBC Git

вверх страницы

About

Бэкенд сервиса, который будет работать с фильмами и оценками пользователей.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages