MySql + PHP, как сделать page feed ( страницу новостей ) | Паттерн проектирования

Ломаю голову более месяца и не знаю как мне реализовать страницу новостей пользователя. Начнем с того что на сервисе пользователь может:

  1. Подписаться на пользователя
  2. Подписаться на автомобиль(ли) пользователя
  3. Подписаться на групы

Пользователь может писать посты которые пренадлежат его автомобилю (к примеру у меня автомобиль MAZDA и пост я пишу конкретно для мазды, поэтому пост пренадлежит мазде)

Пост который написан о MAZDA (который пренадлежит MAZDA автомобилю данного пользователя) пользователь можен подать заявку на публикацию поста в групе и если администратор групы апрувнул -> это пост будет отображаться в групе.

У меня есть структура в базе данных:

введите сюда описание изображения

car_subscription -> хранит на какие автомобили подписался пользователя (один к многим)

user_subscription -> хранит на каких пользователей подписался пользователь (один к многим)

group_subscription -> хранит на какие групы подписался пользователь (один к многим)

group_posts -> какие посты находятся в какой групе

И я хочу в ленте отображать посты связанные со всеми подписками пользователя. К примеру: я подписан на 10 пользователей, 5 груп и 10 автомобилей и я хочу видить в новосной ленте посты от новых к последним(сортировка по дате)

Как это правильно реализовать? Хотелось бы чтобы лента обновлялась в лайв режиме, задержка до 10 секунд - возможна.


Ответы (0 шт):