filmorate

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

Stars
1

Filmorate

Рейтинг фильмов — веб-сервисное монолитное приложение для управления базой данных пользователей и фильмов. Поддерживает хранение данных как в памяти, так и в базе данных.

Основные возможности:

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

Стек технологий

  • Java Core:
    • JDK версии 11: Современные возможности для высокого качества и производительности кода.
  • Фреймворки:
    • Spring Boot: Упрощает разработку и развертывание приложений.
  • Сетевое взаимодействие:
    • REST Api: Легкость и гибкость взаимодействия между клиентом и сервером, используя контроллеры для обработки запросов в формате JSON.
  • Валидация и обработка данных:
    • Lombok: Упрощает написание кода, генерируя часто используемые конструкции.
    • MapStruct: Упрощает маппинг данных между разными слоями приложения.
  • Базы данных:
    • H2: Встраиваемая база данных для разработчиков.
    • JDBC: Стандартный API для взаимодействия с реляционными базами данных.
  • Тестирование:
    • JUnit: фреймворк для модульного тестирования кода.

ER-диаграмма базы данных