descriptionОписание
Мне необходимо разработать веб-приложение рекомендательной системы фильмов на Django с использованием базы данных PostgreSQL.
Веб-приложение должно включать несколько ключевых страниц и функций:
1. На главной странице должен отображаться список всех фильмов в виде карточек с возможностью поиска по названию и фильтрации по характеристикам (например, по году выпуска). У каждого фильма должна быть возможность добавления в избранное и удаления оттуда — это действие должно быть доступно как в списке, так и на странице самого фильма.
2. При выборе фильма осуществляется переход на отдельную страницу с подробной информацией (все характеристики, кроме технических, вроде ID и popularity). Там же отображаются рекомендуемые фильмы на основе гибридной рекомендательной системы: контентная фильтрация по текстовым полям (жанры, описание и т.д.) и коллаборативная часть, учитывающая оценки пользователей, а также поля weighted_rating и popularity в качестве весовых метрик.
2.1 Пользователь может поставить фильму оценку и оставить один комментарий (с возможностью редактирования), который будет отображаться всем. Должна быть реализована страница избранного — со списком фильмов, добавленных пользователем, с возможностью перехода на страницу фильма и удаления из избранного, а также возможность получить рекомендации на основе этих фильмов.
3. Еще одна необходимая страница — история просмотров, где показываются последние фильмы, на которые заходил пользователь, и формируются рекомендации на основе этой истории.
4. Требуется форма обратной связи — либо с отправкой на почту, либо в Telegram.
5. Все функции, связанные с избранным, историей, оценками и комментариями, должны быть доступны только авторизованным пользователям. Следовательно, необходима реализация регистрации и авторизации.
5.1 Пользователь должен иметь личный профиль с возможностью редактировать данные и загружать аватар.
6. Необходимо реализовать навигационную панель для быстрого перехода между страницами и разбить список фильмов на страницы (пагинация).
Интерфейс должен быть русифицирован, при этом исходные данные (датасет ~10 000 фильмов) — на английском, поэтому необходимо либо перевести их, либо хранить в базе оба языка. Есть готовый датасет. Изображения постеров в датасете доступны только через VPN, поэтому их нужно заранее скачать и хранить либо локально, либо в облачном хранилище (при сложности реализации можно не выполнять этот пункт). Требований к фронтенду нет, можно использовать Bootstrap или любой другой стек.
Желаемый срок реализации — до конца апреля, чем раньше, тем лучше. Интересует, готовы ли вы взяться за этот проект и сколько по времени и бюджету он может занять.