Skip to content

Сервис управления пользовательскими предпочтениями в области кино

Notifications You must be signed in to change notification settings

AndreyMMGH/java-filmorate

Repository files navigation

Filmorate

📌 Описание проекта
Filmorate — сервис управления пользовательскими предпочтениями в области кино. Пользователи могут отмечать лайками понравившиеся картины, добавлять друзей и находить самые популярные фильмы.

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

📂 Архитектура
  ● Storage-уровень: реализация через JdbcTemplate, обобщённый базовый класс BaseDbStorage для типовых операций
   (insert, update, delete, findOne, findMany).
  ● DbStorage-классы: отдельные DAO для пользователей, фильмов, жанров и рейтингов.
  ● Сервис-уровень: бизнес-логика, валидация данных, обработка ошибок (ValidationException, NotFoundException).
  ● Контроллеры: REST API для пользователей, фильмов, жанров и рейтингов.

⚙️ Функционал
Пользователи
  ● Создание нового пользователя.
  ● Обновление данных пользователя.
  ● Получение информации обо всех пользователях.
  ● Получение пользователя по id.
  ● Добавление в друзья.
  ● Удаление из друзей.
  ● Получение списка друзей пользователя.
  ● Получение списка общих друзей двух пользователей.
Фильмы
  ● Добавление нового фильма.
  ● Редактирование фильма.
  ● Получение информации обо всех фильмах.
  ● Получение фильма по id.
  ● Лайк фильма пользователем.
  ● Удаление лайка у фильма.
  ● Получение списка популярных фильмов (сортировка по количеству лайков, с ограничением по count).
Жанры
  ● Получение списка всех жанров.
  ● Получение жанра по id.
Рейтинги MPA
  ● Получение списка всех рейтингов.
  ● Получение рейтинга по id.

🛠️ Стек технологий
  ● Java
  ● Spring Framework (Boot, MVC)
  ● JDBC Template
  ● Spring Test
  ● H2
  ● Git
  ● Postman (тестирование API)
  ● REST
  ● Maven

About

Сервис управления пользовательскими предпочтениями в области кино

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages