Come progettare la logica per memorizzare regole assegnazione distintivi e punti di reputazione agli utenti del sito

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

  •  26-09-2019
  •  | 
  •  

Domanda

Nella mia applicazione Web corrente, devo creare un "Punti Esperienza & distintivi motore" in qualche modo simili a SO. Tale sistema contiene molte regole e ogni regola è associata a qualche attività degli utenti predefiniti (come la vista domanda, domanda votazione, ecc).

Quello che sto cercando di capire la soluzione per:

  1. Conservare tutte le regole in tabelle di database (quasi ogni regola include varie condizioni). possiamo fare questo?
  2. per far combaciare ogni azione dell'utente con le regole salvate in tabelle db e assegnare associati punti reputazione e distintivi.
    • Controlla se l'utente già ottenuto il premio al valore di soglia (per esempio non di voti, visualizzazioni), definiti nella norma.
    • eseguire determinate azioni come promuovere l'utente, informare l'utente, l'utente divieto definito alcune regole.
  3. Fornire un interfaccia utente per suggerimenti o l'applicazione per gestire (aggiungere nuovi / modificare / cancellare) le regole di applicazione.

Eventuali suggerimenti sarebbe apprezzato?

È stato utile?

Soluzione

Database non sembra essere lo strumento appropriato per questo requisito. Sembra che è necessario implementare tale logica nel livello di applicazione. Naturalmente, alcuni valori dei parametri possono provenire da file di configurazione.

Un modo se questo è ciò che realmente vuole veramente fare, è quello di avere variabili (ad esempio le viste, voti) definiti in colonne. L'uscita il badge assegnato o il punto di reputazione può anche essere colonna ma la funzione di altre colonne. così tavolo sarà simile:
badgeId_ _ badgeName _ viste __ voti
1
_ ____ argento _ ____ 10 _ ___ 2
2
_ ____ oro _ __ _ 100 _ __ _10

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top