Comment concevoir la logique des règles de magasin assignant badges et des points de réputation pour les utilisateurs du site

StackOverflow https://stackoverflow.com/questions/2629999

  •  26-09-2019
  •  | 
  •  

Question

Dans mon application web actuel, je dois créer un « Points de réputation et badges moteur » un peu similaire à SO. Ce système contient de nombreuses règles et chaque règle est associée à quelques activités d'utilisateur prédéfinis (comme question de point de vue, question de vote, etc.).

Ce que je suis en train de trouver la solution pour:

  1. Magasin toutes les règles dans les tables de base de données (presque chaque règle comprend plusieurs conditions). pouvons-nous faire?
  2. Pour correspondre à chaque action de l'utilisateur avec les règles enregistrées dans les tables db et attribuer les points de réputation associés et badges.
    • Vérifiez si l'utilisateur a déjà la récompense à la valeur seuil (pas des votes par exemple, vues), défini dans la règle.
    • effectuer certaines actions aiment promouvoir utilisateur, notifier l'utilisateur, l'utilisateur d'interdiction définie dans quelques règles.
  3. Fournir une interface utilisateur à l'administrateur de l'application pour gérer (ajouter nouveau / modifier / supprimer) les règles en application.

Les conseils serait apprécier?

Était-ce utile?

La solution

Base de données ne semble pas être l'outil approprié pour cette exigence. On dirait que vous aurez besoin de mettre en œuvre une telle logique dans la couche d'application. bien sûr, certaines valeurs de paramètres peuvent provenir de fichiers de configuration.

Une façon si c'est ce que vous voulez vraiment vraiment faire, est d'avoir des variables (telles que les vues, votes) définis dans les colonnes. La sortie de votre badge attribué ou point de réputation peut aussi être la colonne mais la fonction d'autres colonnes. donc la table ressemblerait à ceci:
badgeId_ _ badgeName _ vues __ votes
1
_ ____ argent _ ____ 10 _ ___ 2
2
_ ____ or _ __ _ 100 _ __ _10

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top