Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Dimmar90/java-filmorate

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

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%

AltStyle によって変換されたページ (->オリジナル) /