Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

FriendsRecomendation

Задача

Для каждого пользователя в системе необходимо составить список рекомендованных друзей. Список строится на основе количества общих друзей, а также интересов конкретного пользователя.

Архитектура

Предполагается реализовать данную задачу в виде микросервиса, взаимодействующего с другими частями приложения с помощью API.

Для работы сервису рекомендаций необходимо взаимодействовать с другими микросервисами системы: списками друзей пользователей и профилям пользователей, содержащим информацию об интересах, возрасте и местоположении. Также для построения рекомендаций может быть использован социальный граф.

Для каждого пользователя в системе хранятся два списка: список рекомендованных друзей и список людей, удаленных из рекомендаций. Список рекомендаций формируется по следующим критериям:

  • Количество общих друзей

  • Возрастная категория

  • Общие интересы

  • Географическое положение

Список рекомендаций пересчитывается при следующих условиях:

  1. Периодическое обновление

  2. Добавление пользователя в друзья

  3. Удаление пользователя из друзей

Список удаленных рекоменвдаций составляется на основе запросов пользователя.

API

Микросервис предусматривает следующие методы для взаимодействия:

Получение списка рекомендаций пользователя:

Параметр Описание
user_id id пользователя, для которого нужно получить список рекомендаций

Удаление пользователя из списка рекомендованных:

Параметр Описание
user_id id владельца списка
recommended_user_id id пользователя, которго нужно удальть из рекомендацций

Проблемы

  1. Необходимо заново составлять список рекомендаций при изменении списка друзей пользователя.

  2. Пользователь только зарегистрировался, у него уще нет друзей, и профиль не полностью заполнен. В этом случае необходимо иметь какой-либо стандартный список рекомендаций.

  3. Проблема увеличения количесва удаленных рекомендаций.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages