Eigenes Doodle

From NoName e.V.
Jump to: navigation, search

Da Doodle zwar ein tolles Konzept, aber nicht Open-Source und somit nicht auf eigenen Servern betreibbar ist, implementieren wir das neu.

Bei der Gelegenheit wollen wir gleich in mehreren Sprachen arbeiten und somit einen Vergleich bieten, welche Sprache für dieses relativ einfache Problem hübscher ist.

Teilnehmer

  • sECuRE in Perl
  • ch3ka in Python

Randbedingungen

  • Webserver kann man entweder selbst machen (muss dann aber auch htaccess können) oder auf einen Apache/lighttpd zurückgreifen (dann muss die Config angegeben werden, diese zählt nicht zur Schönheit des Programms dazu).
  • Datenbank ist entweder keine (Flatfiles) oder PostgreSQL
  • Sofern third-party-module verwendet werden muss angegeben werden, wie man diese installiert (am besten auf einem Debian Testing-System), z.B. "cpan HTML::TreeBuilder"

Pflichtenheft

  • Der Benutzer loggt sich mit seiner E-Mail-Adresse ein (htaccess) und sieht eine Übersicht mit verfügbaren Events
  • Der Benutzer klickt auf ein Event und sieht die verfügbaren Termine, sowie die Teilnehmer und deren Status (kann an Termin 1, kann nicht an Termin 2, …)
  • Der Benutzer kann seine Wahl treffen, indem er die Checkboxen unter den jeweiligen Terminen anhakt. Wenn der Benutzer vorher bereits gewählt hatte, wird seine Wahl aktualisiert.
  • Zu jedem Zeitpunkt wird eine Reihe der verfügbaren Termine (alle Teilnehmer haben Zeit) angezeit, aufsteigend sortiert (der näheste Termin zuerst). Wenn es keine verfügbaren Termine gibt, wird derjenige angezeigt, an dem die meisten Teilnehmer Zeit haben.
  • Wenn der Benutzer statt auf einen Event zu klicken auf "Neuen Event" klickt, bekommt er eine Ansicht mit X freien Feldern, die Anzahl kann er via AJAX oder Button erhöhen. Der Benutzer kann außerdem E-Mail-Adressen angeben von den Teilnehmern, die dann eine kurze Benachrichtigung bekommen mit der URL zu diesem Event. Sofern diese E-Mail-Adressen angegeben wurden, muss das System bei Events auch anzeigen, ob alle Nutzer ihre Termine angegeben haben.