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

Цель проекта

Разработать серверное приложение с REST API для учёта предпочтений пользователей по фильмам. Система должна позволять пользователям отмечать понравившиеся и непонравившиеся фильмы, а также просматривать свои списки.

Основные требования к функционалу

Эндпоинт 1: Добавление в "Понравившиеся"

  • Метод: POST
  • Принимает идентификатор пользователя (user_id) и идентификатор фильма (movie_id)
  • Добавляет movie_id в массив понравившихся фильмов для указанного пользователя в базе данных
  • Рекомендуемая структура в PostgreSQL: колонка типа BIGINT[]

Эндпоинт 2: Получение списка "Понравившиеся"

  • Метод: GET
  • Принимает идентификатор пользователя (user_id)
  • Возвращает массив идентификаторов фильмов, которые пользователь отметил как понравившиеся

Эндпоинт 3: Добавление в "Непонравившиеся"

  • Метод: POST
  • Функционал аналогичен первому эндпоинту, но для отдельного списка непонравившихся фильмов
  • Требуется отдельная колонка в базе данных или альтернативная логика хранения

Технические детали

  • Язык программирования и фреймворк: на усмотрение исполнителя, с обоснованием выбора
  • База данных: PostgreSQL с использованием типа данных массив (bigint[])
  • API: RESTful архитектура, четкая документация эндпоинтов
  • Обработка ошибок: валидация входных данных, обработка случаев отсутствия пользователя

Доработка каталога и фильтров на CMS Битрикс

Необходимо выполнить настройку каталога товаров и системы фильтрации на сайте, работающем на платформе 1С-Битрикс Бизнес с решением Аспро. Подробное техническое задание прилагается к проекту.

Frontend для многопользовательской настольной игры в Telegram MiniApp

Требуется разработать интерактивный интерфейс для мини-приложения Telegram: многопользовательская настольная игра в реальном времени на 4 участников. Основной фокус - удобный, отзывчивый UI и интеграция с бэкендом через WebSockets.