Всем привет. Добавил ветку начала проекта. Гитигнор, workflow (пока без отправки в телегу, чтобы не было ошибок), добавил папку рекомендаций, в ней nginx (настроил) и src (будущий fastapi, пока просто скопировал из ugc). Скопировал наши сервисы movies и ugc (в части хранения фильмов, лайков, отзывов и избранного). Все проверил - запускается с соответствующих компоуз-файлов (надо предварительно создать .env из example). По рекомендациям сделал компоуз (пока не сделаем фастапи по рекомендациям его пока нет смысла запускать).
Работы которые вижу надо сделать:
В ugc поправить добавление фильмов в mongo, чтобы id не сам формировался, а задавался равным UUID фильма.
Добавить наполнение фейковыми данными mongo ugc, где UUID фильмов будет равно UUID из тестовой БД, которая нам давалась в теории в формате sqlite.
написать cron, который будет регулярно запускать процесс "обновления" рекомендаций, итог которого будет сохраняться в mongo рекомендаций.
написать сам алгоритм "рассчета" рекомендаций который получает данные из ugc (проверить что ответ http://localhost:60/api/v1/movies соответствует ожиданиям для рассчета или создать новый более удобный эндпоинт в ugc). Производит необходимые расчеты и сохраняет их в рекомендации.
Написать в рекомендациях эндпоинт для сохранения результатов расчета.
Написать в рекомендациях эндпоинт, при обращении на который получает данные из mongo рекомендаций, делает запрос на movies для получение расширенных данных по фильмам и возвращает список фильмов.
Всем привет. Добавил ветку начала проекта. Гитигнор, workflow (пока без отправки в телегу, чтобы не было ошибок), добавил папку рекомендаций, в ней nginx (настроил) и src (будущий fastapi, пока просто скопировал из ugc). Скопировал наши сервисы movies и ugc (в части хранения фильмов, лайков, отзывов и избранного). Все проверил - запускается с соответствующих компоуз-файлов (надо предварительно создать .env из example). По рекомендациям сделал компоуз (пока не сделаем фастапи по рекомендациям его пока нет смысла запускать). Работы которые вижу надо сделать: