solmath / kicker-ranking Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU General Public License v3.0
License: GNU General Public License v3.0
Hochkant-Darstellung wäre für die Anzeige der Listen sinnvoller.
Die meisten nutzer des Systems verstehen die Bedeutung der von trueskill berechneten Score werte nicht. Stattdessen soll ein "Anzeigescore" für die Anzeige der Rangliste verwendet werden.
Spieler die nicht mehr an Kicker-Spielen teilnehmen können, sollen "gelöscht" werden.
Da sich die Bewertung der Spiele bei einer Neuberechnung der Punkte ändern würde bzw. nicht mehr möglich wäre, muss der Spieler in irgend einer Form in der Datenbank vorhanden bleiben. Ein Möglichkeit ist, den Spieler als "inaktiv" zu markieren aber ansonsten unverändert zu behalten. In der Rangliste werden nur "aktive" Spieler angezeigt.
Löschen darf nur von einem Benutzer mit Adminrechten möglich sein.
Werden mehrere Spieler hintereinander angelegt, erscheint zunächst noch der Name des davor angelegten Spielers im Eingabefeld.
Lösung: Entry.delete(0, tk.END)
Wenn ein Token eingelesen wird der bereits registriert ist soll eine Fehlermeldung angezeigt werden und weiter versucht werden einen noch nicht registriersten Token einzulesen.
Aktuell wird der Token immer erfolgreich eingelesen und die Namenseingabe erscheint. Erst beim speichern in die Datenbank wird eine Exception ausgelöst.
Wenn sich 4 Spieler gefunden haben, wäre es schön eine Option zu haben daraus zwei ungfähr gleich gute Teams zu bilden.
Interessant wäre aus auch, bei Bedarf zufällige Spiele mit etwa gleich guten Teams vorzuschalgen.
Da es mittlerweile die erste Falscheingabe gab, brauchen wir zeitnah eine Möglichkeit Spiele nachträglich zu ändern. Da ich auf den ersten Blick keine Möglichkeit gefunden habe ein bereits gewertetes Spiel rückgängig zu machen, müssen nach der Anpassung alle Spiele neu gewertet werden.
Da das irgendwann ziemlich viele sein könnten, sollte man sich Gedanken darüber machen die Datenbank vor jedem Spiel zu sichern, damit nur die Spiele danach neu gewertet werden müssen.
Als erste Maßnahme habe ich nochmal ein Bestätigungs-Popup zwischen den Klick auf den Auswerten-Button und die Berechnung gebastelt.
Wird ein Spieler mit einem Namen angelegt, der bereits in der Datenbank vorhanden ist, wird nur auf der Konsole ein Fehler angezeigt.
Eventuell sollte der Fehler abgefangen und an den Benutzer gemeldet werden.
Um Softwarefehler frühzeitig zu erkennen sollte es automatisierte Tests geben.
Wahrscheinlich mit pytest
Anzeige nach dem Spiel, die die letzten (chronologisch) Spiele zeigt, ersetzen. Hier Historie der Spieler aus letzten x Spielen interessant.
Versehentlich falsch eingetragene Spiele sollen von einem Admin geändert oder wieder gelöscht werden können.
Im Admin Panel soll dazu ein neuer Button "Spiel ändern" eingeführt werden.
Siehe auch:
#5
Admins sollen analog zum "Adminrechte geben" Button auch wieder entfernt werden können.
Wird bei der Eröffnung eines neuen Spiels "Abbrechen" geklickt, verschwindet zwar das Popup, die Polling-Funktion für das RFID-Token läuft aber weiter (erkennbar daran, dass weiterhin "init" auf die Konsole geschrieben wird.
Weil von A. Mampe gewünscht, sollten die IDs gehasht gespeichert werden. Muss man mal schauen ob das vom Rechenaufwand her hinhaut.
Geeignete Funktion wäre: hashlib.pbkdf2_hmac
Doku: https://docs.python.org/2/library/hashlib.html
https://wiki.python.org/moin/Md5Passwords
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.