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 [email protected]: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.
- 🎉 -