Tippgemeinschaft

Aus SibiWiki
Zur Navigation springen Zur Suche springen

Zweck dieser Seite

Diese Seite dient der Spezifikation der "SIBI Tippgemeinschaft", die als Online-Programm entwickelt werden soll.

Das Programm soll rechtzeitig vor Beginn der EM (=8. Juni) online sein!

Dazu werden hier beschrieben:

  1. Regeln der Tippgemeinschaft
  2. Anwendungsfälle


Regeln der Tippgemeinschaft

Wer darf mitmachen?

  1. alle Schüler, Hausmeister, Lehrer usw. des SIBI
  2. Eltern???
  3. Freunde

Mitmachen kann nur, wer sich persönlich registriert!

  1. Es gibt keine Online-Registrierung.
  2. Registrierung in den großen Pausen.
  3. Für Lehrer gibt es eine Registrierung mit Einmaltokens.
  4. Außerdem wird jedem Nutzer von Sibimail ein Einmaltoken an seine Sibimail-Adresse geschickt.

Punktverteilung

Vorschlag von Herrn Grifka:

  1. Ergebnis richtig: 5 Punkte
  2. Tordifferenz richtig: 4 Punkte
  3. Tendenz richtig (Sieg, Unentschieden, Niederlage): 3 Punkte
  4. Ergebnis und Tendenz falsch: 0 Punkte

Vorteil gegenüber 3-2-1: Bei 3-2-1 wäre ein komplett richtig getipptes Spiel 3x so viel wert wie ein richtiger Tendenztipp.

Das ist nicht gerechtfertigt, denn das wichtigste ist, dass man richtig tippt, wer gewonnen hat!

Faktor

Damit die Tippgemeinschaft bis zum Ende spannend bleibt, ist es besser, wenn die Viertel-, Halb- und Finalspiele höher gewertet werden.

  1. Gruppenspiel (insgesamt 24): einfache Wertung
  2. Viertelfinale (insgesamt 4): doppelte Wertung
  3. Halbfinale (insgesamt 2): dreifache Wertung
  4. Finale: vierfache Wertung

Anzeige der Ergebnisse

Nach jedem Spieltag werden die Spielergebnisse von den Administratoren eingetragen und dann die Punkte neu berechnet.

Danach kann man sich die Tipp-Ergebnisse anzeigen lassen; es gibt mehrere Sichten auf die Tippergebnisse:

  1. die Gesamtliste, nach Punkten sortiert
  2. eine Liste für jede einzelne Klasse
  3. die Bestenliste: die besten drei aus jeder Jahrgangsstufe und von den Lehrern

vgl. #Tippergebnisse anzeigen


Anwendungsfälle (Nutzer)

Login

  1. login.php
  2. Login mit Login-Name und Passwort.
  3. Wenn man das Passwort vergessen hat, dann kann man es sich per Mail zuschicken lassen.
  4. Nach dem Login kommt man ins Hauptmenü

Fertig

Hauptmenü

  1. index.php
  2. Hier gibt es Links zu den verschiedenen Möglichkeiten
  3. Wenn man noch nicht angemeldet ist, wird man automatisch zu login.php weitergeleitet.

Funktionalität fertig, die Links fehlen noch.

Tippen

  1. tippen.php und tippEintragen.php
  2. Man sieht eine Liste von den Spielen, die noch getippt werden können, dahinter jeweils Kästchen, in die man das Ergebnis eintragen kann.
  3. Außerdem gibt es einen Link zu spielinfo.php, damit man sich Informationen und Kommentare zu einem Spiel ansehen kann (siehe #Informationen zu einem Spiel ansehen).
  4. getippt werden können nur Spiele, die mindestens am Tag NACH dem aktuellen Datum stattfinden.
  5. Als Rückmeldung sieht man eine Liste der Tipps: tippEintragen.php
  6. Es sollen nur die Spiele angezeigt werden, die noch getippt werden können -> SQL-Abfrage anpassen!

Technisch fast fertig, sieht natürlich noch nicht schön aus.

Das aktuelle Datum muss noch ausgelesen werden

in Arbeit: Robin und Lukas

Meine Ergebnisse

  1. meineErgebnisse.php
  2. oben auf dieser Seite wird die Punktverteilung erklärt (wichtig für Rückfragen...)
  3. Man sieht eine Liste der abgelaufenen Spiele mit Spielergebnissen und eigenem Tipp. Dahinter steht dann jeweils, wie viele Punkte man für dieses Spiel bekommen hat.

in Arbeit: Heike und Thorsten Probleme:

  1. Spiele sind doppelt angezeigt
  2. Tipps von allen Nutzern werden angezeigt nicht nur von sich selber

Tippergebnisse anzeigen

Es gibt mehrere Sichten auf die Tipp-Ergebnisse:

  1. Gesamtliste: Alle Teilnehmer, nach Punkten sortiert
    1. es werden NICHT "Freunde" und "Eltern" angezeigt.
    2. Eltern und Freunde werden erst angezeigt, wenn man auf einen entsprechenden Link klickt - dann werden Eltern und Freunde mitangezeigt, aber in grau. (Idee: Freunde und Eltern sollen nicht die vorderen Plätze einnehmen...)
    3. alleErgebnisse.php
    4. fertig
  2. Klassenergebnisse: Alle Teilnehmer einer Klasse, nach Punkten sortiert
    1. klassenErgebnisse.php?klasse_id = 2
    2. fertig
  3. Klassenliste: Dabei werden alle Teilnehmer aus einer Klasse zusammengefasst.
    1. klassenwertung.php
    2. in die Klassenliste kommen nur Klassen mit mindestens 5 Teilnehmern.
    3. die schlechtesten 20% jeder Klasse werden rausgerechnet (ist wichtig, damit keiner das Gefühl haben muss, der Klasse den Schnitt zu "versauen")
    4. von den anderen 80% wird der Durchschnitt gebildet.
    5. außer Klassen gibt es noch folgende Gruppen:
      1. Lehrer (das schließt Hausmeister und Sekretariat mit ein)
    6. TODO
  4. Bestenliste
    1. bestenliste.php
    2. die evtl. auf die Startseite, damit es jeder sieht?!
    3. die besten drei aus jeder Jahrgangsstufe
    4. die besten drei Lehrer
    5. fertig

Probleme melden

Auf der Startseite gibt es einen Link für eine Mailadresse, um Probleme zu melden. Das ist besser als ein Formular, weil man dann direkt eine Mailadresse hat, an wen man ggf. eine Antwort schickt. TODO

Länderinfo lesen

    1. Beispiel: laenderinfo.php?land=18
    2. Hier steht die Information zu dem Land (mit Titel + Flagge)
    3. Vorname und Name des Autors
    4. Zurück-Button.

Wird in kommentieren.php integriert!

Fadel

Kommentieren

  1. kommentieren.php
  2. Nutzer muss ein Spiel auswählen, und dann:
    1. die Länderinformationen zu den beiden Mannschaften werden angezeigt.
    2. man kann alle Kommentare zu diesem Spiel lesen.
    3. Jeder Nutzer kann Kommentare zu dem Spiel schreiben.

Fadel

Kommentare lesen

  1. kommentieren.php
    1. die Kommentare werden nach Bewertung und Datum sortiert angezeigt
    2. beliebteste zuerst, neueste zuerst
  2. Mit angezeigt werden:
    1. Datum und Uhrzeit
    2. Autor
  3. daneben sind drei Links "gefällt mir", "gefällt mir nicht", "Verstoß gegen Netiquette"

Fadel


Registrieren

Die normale Registrierung für Schüler soll persönlich erfolgen #Registrieren

Registrieren mit SIBInet-Login und Einmal-Token

Alle, denen ein Registrierungsmail zugeschickt wurde, können sich mit einem Einmaltoken und ihrem SIBInet-Login registrieren.

  1. tokenRegistrierung.php?login=mmustermann&token=s456xc

fertig

Freunde & Eltern-Registrierung mit Einmal-Token

Registrierung mit Einmal-Tokens ist wichtig, wenn sich Freunde, Eltern oder Ehemalige registrieren wollen. Die bekommen dann einen Einmal-Token geschickt.

  1. token.php
  2. Dort gibt man sein Token ein.
  3. Dann kann man sich registrieren; dabei muss man Name, Vorname, Loginname, Passwort, Mail angeben.
  4. Man kann auswählen, ob man Ehemaliger, Freund oder Eltern ist.
  5. Der Token wird danach gelöscht.
  6. vergleiche auch admin/registrieren.php und admin/registrierenEintragen.php
  7. Die Einmaltokens werden in einer Extra-Tabelle gespeichert.


TODO: Domenik Benedikt Niko Martin

Passwort vergessen

Wenn ein Nutzer sein Passwort vergisst, sollte er sich per Mail einen Aktivierungslink zuschicken lassen können. Dafür wird dem Nutzer der Token geschickt, der für ihn erzeugt wurde.

  1. passwortVergessen.html und passwortVergessen.php
  2. TODO: KB

So tippen die Champions

tippsDerChampions.php Die Tipps der besten drei Tipper werden (mit Namen natürlich!) angezeigt. Dadurch kann man eine Idee bekommen, was man tippen könnte.

Angezeigt werden nur die Tipper, die mindestens den nächsten Spieltag vollständig getippt haben.

(Wenn man genauso tippt wie die "Champions", dann kann man sie natürlich nicht überholen...)

TODO

Logout

  1. logout.php
  2. Abmelden von der Tippgemeinschaft.

Fertig


Anwendungsfälle (Autoren)

Autorenlogin / logout

  1. gleiches Login wie die normalen Nutzer
  2. Autoren sehen auf der index.php dann noch den Link zu "Länderinfo schreiben".
  3. Autoren haben in der Datenbank im Attribut "rolle" den Wert "autor"

fertig

Länderinfo schreiben

Autoren können Informationen zu einzelnen Ländern schreiben und editieren.

  1. Jeder Autor kann zu einem beliebigen Land schreiben.
  2. Wenn man auf das Land klickt, wird die Länderinfo angezeigt; darunter Name und Vorname des letzten Autors, der das editiert hat.
  3. landBeschreiben.php und landBeschreibenEintragen.php
  4. TODO: Soll nur für Autoren sichtbar sein!


fertig

Anwendungsfälle (Administrator)

  1. Der Administrationsbereich wird durch .htaccess geschützt. So sparen wir uns die mühsame Sicherung der php-Skripte.

Admin-Login

  1. admin/login.php

fertig

Admin-Menü

  1. admin/index.php

fertig

Registrieren

Für die Registrierung gibt es drei Möglichkeiten:

  1. persönliche Registrierung (das dürfen nur Administratoren)
  2. Registrierung per Registrierungslink in einem Mail
  3. Registrierung per Token (für Eltern, Freunde etc.): siehe #Registrieren mit Einmal-Tokens

Persönliche Registrierung

  1. admin/register.php und admin/registerEintragen.php
  2. Registrierung erfolgt persönlich, d.h. es gibt kein Online-Formular dafür.
  3. Nur die Administratoren haben das Recht, Nutzer zu registrieren.
  4. Registrierung der Nutzer mit Loginname, Vorname, Nachname, Klasse, Passwort und Mailadresse.

fertig

Persönliche Registrierung mit Daten aus SIBInet

  1. Man gibt nur den Login-Namen von SIBInet ein.
  2. Es wird überprüft, ob es den Login-Namen in SIBInet gibt.
  3. Wenn ja, dann werden die Informationen aus SIBInet ausgelesen.
  4. Wenn nein, kommt man zur normalen Registrierung.
  5. registerSibinet.php

fertig

Registrierung per Mail

  1. admin/sendRegisterMail.php
  2. Jeder Nutzer kriegt einen Mail an seine SIBInet-Mailadresse geschickt.
    1. Da muss er dann auf einen Registrierungslink klicken.

Fertig

  1. tokenRegistrierung.php?login=test&token=xc7F5
    1. aus der Tabelle ti_sibinet wird der entsprechende Nutzer rausgesucht
    2. der Nutzer muss sein Passwort wählen.
    3. Bei der Registrierung wird der Nutzer dann in die Tabelle ti_nutzer übertragen.

Fertig

  1. Der Registrierungslink und das Token bleiben auch nach der Registrierung aktiv!
    1. Dann kann man sich nochmal anmelden, wenn man sein Passwort vergessen hat.
    2. Dabei sollen die Tipps natürlich NICHT gelöscht werden! D.h. bei der Registrierung muss immer geprüft werden, ob es schon einen entsprechenden Account gibt.
    3. Von der Seite index.php gibt es einen Link "Persönliche Daten ändern.

Fertig

Wie das gemacht werden soll:

  1. Fürs Versenden der Registrierungslinks greift man auf die Tabelle ti-sibinet zu, wo die erforderlichen Daten drinstehen.
  2. erst Nutzer, die sich registriert haben, werden in ti-nutzer aufgenommen.

Fertig

Spiele eintragen

  1. admin/spielEintragen.php
  2. Die Mannschaften sind als zwei Dropdown-Menüs angegeben
  3. Datum und Uhrzeit wird als Text eingetragen.

fertig

Spielergebnisse eintragen

  1. admin/spielergebnisseEintragen.php
  2. Man sieht eine Liste von allen Spielen.
  3. Dahinter jeweils zwei Kästchen, in die die Spielergebnisse eingetragen werden können.
  4. Bei Spielen, die schon eingetragen wurden, steht da das Ergebnis. Das kann man aber verändern (um Fehler zu korrigieren).
  5. Dann abschicken.
  6. Beim Abschicken werden die Punkte aller Nutzer neu berechnet.
    1. Dabei werden ALLE Tipps neu ausgewertet, um kumulative Rechenfehler etc. zu vermeiden.

TODO

Punkte berechnen

  1. admin/punkteBerechnen.php
  2. berechnet die Punkte aus allen Tipps
  3. berücksichtigt den Faktor der Spiele
  4. wird aufgerufen, wenn neue Spielergebnisse eingetragen wurden.

fertig.

Der automatische Aufruf nach dem Eintragen der Spielergebnisse fehlt noch.

Kommentare verwalten

  1. kommentareVerwalten.php
  2. Der Administrator kann alle neuen Kommentare lesen.
  3. Er kann die Kommentare verwalten:
    1. Kommentar ist ok: wird dem Administrator beim nächsten Mal nicht mehr angezeigt.
    2. Kommentar ablehnen: Der Kommentar wird gelöscht.
      1. Nice to have: Für jeden Nutzer wird gezählt, wie viele abgelehnte Kommentare er geschrieben hat. Wenn das zu viele werden, wird ihm das Recht zum Kommentare schreiben entzogen.

Fadel

Design

Header

  1. Ein Header (nur ein schmaler Streifen!) mit schönen Bildern entwickeln.
  2. Header so machen, dass er einfach eingebunden werden kann
  3. Header mit den folgenden Menüpunkten:
    1. Home
    2. tippen!
    3. SIBI
    4. logout
  4. include/menu.php

TODO

Stylesheets

  1. für Tabellen
  2. für Links
  3. für den Text
  4. Hintergrundbild? (welches?)
  5. style.css

Robin

notwendige DB-Updates

Hier wird immer eingetragen, wenn sich in der Datenbank etwas geändert hat! Die Seite Tippgemeinschaft:Datenbank sollte immer aktuell gehalten werden!