2010-03-16 7 views
5

Estoy pensando en agregar un sistema de reputación a mi aplicación web Django; el sitio ya está siendo utilizado, así que estoy tratando de tener cuidado con mis elecciones.Dando a los usuarios un "sistema de reputación" - ¿Debería ...?

La reputación se genera en todas las acciones que contribuyen al sitio, similar al sistema de Stackoverflow.

Sé que hay literalmente millones de formas de implementar esto, y es por eso que me siento perdido.

dos alternativas que no estoy seguro acerca son:

  • Mantenga un registro de razones por las cuales la reputación se incrementó
  • Ignorar razones con el fin de reducir la complejidad del sitio y los gastos generales

Estaría contento con algunos consejos y direcciones. ¡Sería muy apreciado!

Respuesta

4

lleve un registro de las razones, en mi humilde opinión. Seguramente no sería tan complejo, y no es necesario almacenar una gran cantidad de información, solo un valor de fecha y hora, punto, comando, destino y originador. Si los datos llegan a ser demasiado después de algún tiempo, volcar el DB a un medio de copia de seguridad y borrar el historial.

6

En Django, sugiero tener una propiedad en el modelo de Usuario (o Perfil) que calcula la reputación de un usuario a pedido. Luego, almacene la reputación en caché y/o almacene en la base de datos para una recuperación rápida.

De esta manera, además de tener los registros de lo que afecta la reputación, puede cambiar sus criterios de reputación a voluntad.

+0

@Daniel gracias. ¡Estos son algunos buenos consejos! – RadiantHex

Cuestiones relacionadas