J'ai une question d'architecture avec laquelle je suis aux prises.Suggestions sur la façon de gérer les notes
La conception du site aurait un système de karma/évaluation/points utilisateur assez similaire à la façon dont cela se fait ici sur stackoverflow. Des choses comme des commentaires, de nouveaux messages, etc. donneraient un coup de pouce aux évaluations d'un utilisateur. De même, des choses comme des votes sur certains contenus pourraient également donner un coup de pouce.
Ma question est de savoir comment cela pourrait être implémenté dans l'architecture. Ma première pensée est que je vais être intéressé à un moment donné de savoir exactement d'où viennent les points d'un utilisateur, donc avoir simplement un champ sous chaque utilisateur qui a été incrémenté ne fournirait pas les données dont j'ai besoin. Donc, mon modèle que j'ai dans ma tête qui donne un accès complet à ces données serait que chacun de ces événements (post, commentaire, upvote) soit enregistré et la note de l'utilisateur dérivée de ces logs. Le problème ici est que je sais que ce modèle ne s'adapte pas bien à long terme puisque le calcul de la note d'un utilisateur se transformerait en un cauchemar de requête SQL.
Donc, il y a une sorte de terrain d'entente ici. Quelqu'un a eu une suggestion sur la direction que je devrais prendre, ou sur une bonne lecture. Je ne suis même pas sûr de ce qu'il faut chercher.
Peu d'informations supplémentaires. Django est mon framework que je vais utiliser. –