Техническое задание: Сервер управления пользовательскими предпочтениями
Цель проекта
Разработать серверное приложение с REST API для учёта предпочтений пользователей по фильмам. Система должна позволять пользователям отмечать понравившиеся и непонравившиеся фильмы, а также просматривать свои списки.
Основные требования к функционалу
Эндпоинт 1: Добавление в "Понравившиеся"
- Метод: POST
- Принимает идентификатор пользователя (user_id) и идентификатор фильма (movie_id)
- Добавляет movie_id в массив понравившихся фильмов для указанного пользователя в базе данных
- Рекомендуемая структура в PostgreSQL: колонка типа BIGINT[]
Эндпоинт 2: Получение списка "Понравившиеся"
- Метод: GET
- Принимает идентификатор пользователя (user_id)
- Возвращает массив идентификаторов фильмов, которые пользователь отметил как понравившиеся
Эндпоинт 3: Добавление в "Непонравившиеся"
- Метод: POST
- Функционал аналогичен первому эндпоинту, но для отдельного списка непонравившихся фильмов
- Требуется отдельная колонка в базе данных или альтернативная логика хранения
Технические детали
- Язык программирования и фреймворк: на усмотрение исполнителя, с обоснованием выбора
- База данных: PostgreSQL с использованием типа данных массив (bigint[])
- API: RESTful архитектура, четкая документация эндпоинтов
- Обработка ошибок: валидация входных данных, обработка случаев отсутствия пользователя