Skip to content

About

Template repository for Filmorate project.

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Latest commit

 

History

5 Commits

Folders and files

Repository files navigation

Filmorate

Бэкенд приложения для поиска фильмов и сериалов

Основные объекты взаимодействия:
• Пользователи
• Фильмы
• Жанры
• Рейтинги возрастных ограничений

Функционал и команды

Для управления пользователями доступно:
• Создать нового пользователя
• Изменить существующего пользователя
• Получить конкретного пользователя по его id
• Получить список всех пользователей
• Добавить в друзья
• Удалить из друзей
• Получить список друзей конкретного пользователя
• Получить список общих друзей пользователей

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

Взаимосвязи объектов БД (базы данных)

Java-filmorate project DB

Примеры запросов:

Получить пользователя с id = 5
SELECT *
FROM users
WHERE id = 5;
Получить список всех друзей пользователя с id = 5
SELECT *
FROM users
WHERE id IN 
    (SELECT friend_user_id
    FROM friendship
    WHERE user_id = 5);
Получить фильм с id = 3
SELECT *
FROM films
WHERE film_id = 3;
Получить ТОП-10 фильмов
SELECT f.name AS topfilms
FROM films AS f
LEFT JOIN film_likes AS lk ON f.id = lk.film_id
GROUP BY topfilms ORDER BY COUNT(lk.user_id) DESC LIMIT 10;

Запуск приложения

  1. Выполните клонирование репозитория и откройте его в IntelliJ IDEA.
  2. Запустите класс FilmorateApplication с методом main.

Выполнение тестов

  1. Выполните клонирование репозитория и откройте его в IntelliJ IDEA.
  2. Запустите тесты в папке filmorate/src/test/java.

Тесты API-запросов

Проверка эндпоинтов выполняется с использованием json-коллекции, которую необходимо импортировать в приложение для тестирования API, например Postman. Предварительно необходимо запустить приложение в классе FilmorateApplication.

About

Template repository for Filmorate project.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages