Estoy buscando implementar algo similar a las insignias stackoverflow. también podría equipararlos a los logros en los juegos.distintivos/logros
pero no estoy seguro cómo diseñar la base de datos/código/seguimiento para ellos.
consigo lo que debería hacer por insignias tales como:
Altruista × 1456 primera recompensa que otorgará de forma manual en la pregunta de otra persona
porque son un evento de una sola vez, pero la forma de manejar otros tales como:
× analítica 16389 visitado cada sección del FAQ
electorado × 1783 votado en 600 preguntas y 25% o más del total de los votos están en preguntas Franco × 188 Publicado 10 mensajes en el chat que fueron protagonizadas por 10 usuarios diferentes
etc ...
cómo manejarlos, cómo mantener seguimiento del progreso de cada uno, etc ... ¿hay algún tutorial o algo que pueda ayudarme a encontrar un patrón de diseño para ellos?
Creo que lo entiendo ahora. parece fácil: P solo un problema: usted dice que 'analítico' usar una tabla db, pero habrá muchas tales insignias similares y ¿cómo podría hacer para cada una de ellas? debería usar una tabla diferente para cada insignia, ¿o hay alguna forma de unificar esto en una sola mesa? de lo contrario, podría terminar con muchas tablas db, una para cada tipo de insignia ... pero gracias a la respuesta, me ayuda mucho a empezar en la dirección correcta. Por cierto, tu 2 significa que las insignias no se otorgan en el momento en que se logran, ¿verdad? y sí, no habrá desagravio. – b0x0rz
La forma en que implemente la tabla depende de usted.Podría tener una tabla de 4 columnas con user_id, badge_id, badge_acheivement_id, flag - Esto lo haría escalable a múltiples distintivos. Y sí, eso significa que no se otorgarán en el momento en que se lograron. –
por supuesto :) gracias. Creo que esto resuelve todos mis problemas. Supongo que programar las comprobaciones con bastante frecuencia es una posibilidad de reducir el lapso de tiempo entre "ganar" la insignia y la insignia que se muestra. – b0x0rz