Providing users with a "reputation system" - Should I ...?

I am considering adding a reputation system to my Django web application; the site is already in use, so I try to be careful in choosing.

Reputation is created in all actions that contribute to the site, like the Stackoverflow system.

I know that there are literally millions of ways to implement this, and that is why I feel pretty lost.

Two alternatives that I'm not sure about are the following:

  • Keep track of why your reputation has been increased.
  • Ignore reasons to reduce site complexity and overhead

I would be pleased with a few pointers and directions. It would be very grateful!

+5
source share
2 answers

In Django, I suggest having a property in the User (or Profile) model, which calculates the user's reputation on request. Then cache the reputation using your caching structure and / or store it in the database for quick retrieval.

Thus, in addition to having records about what affects your reputation, you can optionally change your reputation criteria.

+6
source

follow the reasons, IMHO. Of course, this would not be so difficult, and you do not need to store a huge amount of information, just the date and time, point value, command, target and sender. If the data becomes too strong after some time, upload the database to the backup medium and clear the history.

+4
source

All Articles