TL;DR: Еще одно приложение для отслеживания фильмов
MyFilmList — это приложение, предназначенное для отслеживания фильмов, которое позволяет вести собственные списки просмотренного, запланированного к просмотру контента, оценивать фильмы, оставлять отзывы и делиться рекомендациями, находить новые произведения для просмотра по рекомендациям, жанрам и рейтингам.
Система позволяет создавать единое место для взаимодействия пользователей, любящих кино, и предлагает множество функций для повышения удобства использования платформы.
С помощью MyFilmList пользователи могут:
- Создавать и управлять коллекциями фильмов: Пользователи могут создавать персонализированные списки фильмов, которые они хотят посмотреть, а также отслеживать просмотренные фильмы.
- Оставлять отзывы и оценки: Каждому фильму можно оставить отзыв и оценку, что помогает другим пользователям принимать решения о просмотре.
- Получать рекомендации: Приложение предлагает персонализированные рекомендации на основе предпочтений пользователя и его истории просмотров.
Хотите увидеть MyFilmList в действии?
- 🔥 Попробуйте! 🔥
Не терпится узнать, как использовать API MyFilmList?
- 🗂️ MyFilmList OpenAPI 3.0 🗂️
MyFilmList создан в рамках курсовой работы по предмету «Информационные системы», целью которой является получение навыков и знаний, необходимых для создания информационной системы в заданной предметной области
Warning
Добрый день. Тема отклонена по причине цензуры. Придумайте что-нибудь менее нарушающее нормы приличия.
— Алексей Егошин (отвечая на проект курсовой работы "ИС Репродуктивного центра «SPER»")
Tip
Если бы не цензура от лектора - ваш "банк спермы", звучит гораздо лучше как тема курсовой
— Алексей Егошин (позже)
- Группа:
P3315 - Студенты:
- @maxbarsukov: Барсуков Максим Андреевич
367081; - @pmpknu: Горляков Даниил Петрович
367165.
- @maxbarsukov: Барсуков Максим Андреевич
Текст задания на курсовую работу, а также описание всех этапов курсовой работы вы можете найти в TASK.md
| Этап | Артефакт |
|---|---|
1 | Отчёт: part1/report.pdf |
2 | Отчёт: part2/report.pdf |
3 | Отчёт: part3/report.pdf |
4 | Отчёт: part4/report.pdf |
- Обновления
- Начало работы
- Тестирование
- Содействие
- Нормы поведения
- Свяжитесь с нами!
- Безопасность
- Полезные ссылки
- Лицензия
🎉 Вышла версия v0.1.0!
🔔 15 января 2025 (v0.1.0)
- Реализация рекомендаций: введена новая конечная точка
/feed, которая объединяет пользовательский контент, повышая вовлеченность пользователей с помощью персонализированных рекомендаций.- Рекомендации по коллекциям фильмов: в
FeedQueryразработана система рекомендаций по коллекциям фильмов, позволяющая пользователям находить подходящий контент на основе их истории просмотров.- Управление ролями пользователей: реализован комплексный модуль управления ролями пользователей, включая новый
UserRoleServiceдля облегчения назначения ролей и разрешений.- Объекты комментариев и рецензий: добавлены объекты «Комментарий» и «Рецензия», дополненные службами для обработки операций CRUD и улучшения взаимодействия пользователя с контентом.
- Система сообщений: введена функция «Пожаловаться» и связанные с ней службы, которые позволяют пользователям сообщать о неприемлемом контенте, обеспечивая более безопасное сообщество.
- Функциональность коллекций фильмов: создан объект «Коллекция фильмов» с полными возможностями CRUD, позволяющий пользователям управлять своим любимым контентом.
- Восстановление пароля: реализована функция восстановления пароля, которая позволяет пользователям безопасно сбрасывать свои пароли по электронной почте.
- Подтверждение электронной почты: добавлена функция проверки электронной почты пользователя для обеспечения подлинности учетной записи и повышения безопасности во время регистрации пользователя.
- Улучшенные алгоритмы рекомендаций: улучшена функция рекомендаций, позволяющая учитывать дополнительные факторы, такие как страна производства и средний рейтинг, предоставляя пользователям более релевантные предложения.
Убедитесь, что у вас установлен git.
Чтобы собрать и запустить это приложение локально, вам понадобится несколько вещей:
- Установите
Java(проверено наOpenJDK 17.0.12); - Вам понадобится
PostgreSQL(проверено на16.2); - ... а также
Minio(проверено наRELEASE.2024-12-18T13-15-44Z); - Проверьте, что
Node.jsустановлен (проверено наv20.17.12); - Установите
pnpm(проверено наpnpm 9).
или
- Установите Docker и docker-compose.
Склонируйте этот репозиторий:
git clone git@github.com:maxbarsukov/MyFilmList.git cd MyFilmList Для начала скопируйте содержимое .env.example в файл .env и внимательно изучите его содержимое, после чего отредактируйте его в соответствии с вашим окружением и требованиями (например, поменять адрес клиента).
При изменениях .env файла запускайте в окне консоли команду:
export $(cat .env | xargs) Warning
Если архитектура вашей системы отличается от x86-64, вам, скорее всего, понадобится пересобрать vendor/libJMagick.so.
Если вы, как и я, счастливый обладатель aarch64, то, во имя избежания многочасовых страданий, вчитайтесь в jmagick/INSTALL#L112-L121.
Для этого следуйте инструкциям по сборке JMagick (или повторите команды из jmagick_build.yml). Полученный .so файл переименуйте в libJMagick.so и поместите в директорию vendor.
- Убедитесь, что вы установили, настроили и запустили PostgreSQL и Minio;
- Введите
./gradlew bootRunи проверьте http://localhost:8080. - Чтобы запустить фронтенд, перейдите в директорию
./frontend/, запуститеpnpm run devи проверьте http://localhost:3000.
- Запустите
docker compose upи подождите, пока PostgreSQL и Minio не станут доступны. - Введите
./gradlew bootRunи проверьте http://localhost:8080. - Чтобы запустить фронтенд, перейдите в директорию
./frontend/, запуститеpnpm run devи проверьте http://localhost:3000.
Чтобы запустить тест-раннер, введите:
export $(cat .env | xargs) ./gradlew test Нужна помощь? Загляните в SUPPORT.md!
Привет! Мы рады, что вы думаете о том, чтобы внести свой вклад в MyFilmList! Не стесняйтесь выбирать проблему с пометкой good first issue и задавать любые вопросы, которые вам интересны. Некоторые моменты могут быть неясны, и мы готовы вам помочь!
Отчеты об ошибках и запросы на включение приветствуются на GitHub по адресу https://github.com/maxbarsukov/MyFilmList.
Прежде чем создавать свой PR, мы настоятельно рекомендуем вам прочитать соответствующий CONTRIBUTING.md репозитория или раздел «Содействие» в README.md.
Этот проект призван стать безопасным и гостеприимным пространством для совместной работы, и ожидается, что все, кто взаимодействует с кодовыми базами проекта MyFilmList, системами отслеживания проблем, чатами и списками рассылки, будут соблюдать кодекс поведения.
💌 Хотите внести предложение или оставить отзыв? Вот некоторые каналы, по которым вы можете связаться с нами:
- Нашли ошибку? Откройте задачу в репозитории!
- Хотите стать частью нашего сообщества Telegram? Мы приглашаем вас присоединиться к нашему чату сообщества MyFilmList, где вы можете найти поддержку со стороны нашей команды и сообщества, а также поделиться своими проектами или просто поговорить о случайных вещах с другими участниками сообщества MyFilmList 😁!
MyFilmList серьезно относится к безопасности наших программных продуктов и услуг. Если вы считаете, что обнаружили уязвимость безопасности в каком-либо репозитории, принадлежащем MyFilmList, сообщите нам об этом, как описано в нашей политике безопасности.
| Ссылка | Описание |
|---|---|
| github.com/maxbarsukov/MyFilmList | Репозиторий MyFilmList |
| mfl.maxbarsukov.ru | Веб-приложение MyFilmList |
| mfl.maxbarsukov.ru/swagger-ui/index.html | OpenAPI 3.0 документация для открытого API |
Проект доступен с открытым исходным кодом на условиях Лицензии MIT.
Авторские права 2025 Max Barsukov & Daniil Gorlyakov
Поставьте звезду ⭐, если вы нашли этот проект полезным.
This project is published under MIT.
A maxbarsukov & pmpknu project.
- 🎉 -

