Ich bin dabei, eine App zu entwickeln, in der alle Benutzer (registriert oder nicht) jede Minute abstimmen können. Das Wahlfenster sollte eine bestimmte Zeit (zB 1 Monat) dauern. An diesem Punkt wird eine gewinnende Einheit definiert und die Wahlperiode wird zurückgesetzt und beginnt von vorne. Besucher können dann Kommentare über den Gewinner für diesen Zeitraum hinterlassen. Meine Frage ist, was denkst du, ist der beste Weg, etwas wie das aufzustellen?Struktur für wiederkehrende unbegrenzte Wahlwettbewerbe
Hier sind meine aktuellen Gedanken, aber nicht ideal erscheinen:
1) Vote Modell: ENTITY_ID, contest_id, user_id (optional), created_at, ip_address
- Suche nach ip in db bei neuer Abstimmung und sehen, ob Zeitunterschied größer als erlaubt Abstimmung Zeitlimit zwischen User-Stimmen
- verwenden CAPTCHA jede Variable Anzahl der Stimmen zu gewährleisten menschlichen
- calcul aß Zahl aktuelle Abstimmung all Einträge für eine Entität für einen Wettbewerb zu zählen
2) Contest Modell: Beginn und Ende Datetime
- hat einen wöchentlicher oder monatlicher Cron-Job erstellen die neueste Instanz
- Stimmen finden aktuelle Wettbewerb, wenn das aktuelle Datum zwischen diesen zwei Terminen
- einzelnen Modell ermöglicht Attribute, um den Wettbewerb zu schaffen (zum Beispiel spezielle Arten von Wettbewerben)
3) Winner Modell: contest_id, ENTITY_ID
- für die Nutzer Kommentare zu vergangenen Wettbewerbsgewinner erlaubt
was meinst du mit dem besten Weg? Die Architektur? In welcher Sprache wird es implementiert? – Adrian
Architektur. Ich werde ROR benutzen. Ich habe die Model/db-Struktur gezeigt, die ich oben betrachte. Meine Frage ist, gibt es eine bessere Möglichkeit, es zu strukturieren? – Marc