Estou interessado em ouvir suas opiniões sobre qual é a melhor maneira de implementar um fluxo de atividades sociais (o Facebook é o exemplo mais famoso). Os problemas / desafios envolvidos são:
- Diferentes tipos de atividades (postagem, comentário ..)
- Diferentes tipos de objetos (publicação, comentário, foto ..)
- 1-n usuários envolvidos em diferentes funções ("O usuário x respondeu ao comentário do usuário y na publicação Z do usuário")
- Exibições diferentes do mesmo item de atividade ("você comentou .." vs. "seu amigo x comentou" vs. "usuário x comentou .." => 3 representações de uma atividade "comentar")
.. e mais alguns, especialmente se você o elevar a um alto nível de sofisticação, como o Facebook, por exemplo, combinando vários itens de atividade em um ("usuários x, yez comentaram sobre essa foto"
Serão apreciados quaisquer pensamentos ou sugestões sobre padrões, documentos, etc., sobre as abordagens mais flexíveis, eficientes e poderosas para implementar esse sistema, modelo de dados etc.
Embora a maioria dos problemas seja independente de plataforma, é provável que eu acabe implementando esse sistema no Ruby on Rails