~rd/appealr

AppealR gamifies the process of identifying inconsistencies in the rules of 'What? Where? When?' game

055cada More information on usage

~rd pushed to ~rd/appealr git

4 months ago

08b534b Fix license link

~rd pushed to ~rd/appealr git

4 months ago

#Appealr project

Donate using Liberapay Buy Me A Coffee

AppealR is a platform designed to gamify the process of identifying inconsistencies within the rules of 'What? Where? When?' games.

The "What? Where? When?" game is a team quiz, where the team answers questions. Some answers are not anticipated by the authors of questions, so the team can appeal. Appeals are judged by an appeal jury according to the rules of the game.

Appealr uses a database of appeals submitted by real teams.

  • First, Appealr randomly selects a jury member (who has judged at least 5 questions) and finds 5 questions that he has judged.
  • Second, Appealr shows each of these questions to the user and asks them to judge it as if they were the jury member. The user can accept appeal, reject and (unlike a real jury member) say that both verdicts are possible. Then Appealr shows the real verdict to the user and asks if he thinks this verdict is fair. If the user thinks that the verdict is unfair, the appeal and verdict are saved for later.
  • Finally, Appealr shows how much time the user agreed with the judge and reveals who the judge was.

#Technologies and Data

Appealr is written in Python. It uses htmx (via fasthtml package) and sqlite (via fastsql package). It uses picocss for CSS styling and icons8 for icons.

The code is licensed under AGPL 3.0 or any later version.

We use questions and appeals from the GotQuestions dump of appeals. The questions are licensed under CC BY-NC-ND 4.0 by default; more detailed information is on copyright page of GQ.

#Installation and Usage

pip install -r requirements.txt
python src/main.py

Set BASE_URL and PORT environment variables if needed.

Also has src/database.py to import questions from JSON to sqlite database.

#Routes

GET / - root page with the project description and "Start" button

POST /p - randomly chooses jury member and creates a pack with 5 appeals judged by this jury member. Redirects to /p/:pack

GET /p/:pack - shows the current appeal from the pack (either only htmx part or whole page). Has "Accept", "Decline" and "Both are correct" buttons. Each button sends request to POST /p/:pack/:n and saves the result into database. Then it shows the form (only htmx or whole page) with the original verdict from the appeal jury. Has "Fair" and "Unfair, send to higher instance" buttons. If unfair, saves the question and appeal for emailing. Both buttons send POST /p/:pack/:n/fairness and move to the next question. If the question is final, it shows saved appeals and redirects to /p/:pack

GET /p/:pack (if pack was finished) - shows total information about pack: how much times the user had the same verdict as the appeal jury. Has a link to each question and the original and user's verdict.

#Support

If you have any other questions, please don't hesitate to contact me directly: @gltronred or gltronred@pm.me.

You can also:

You can support my work on liberapay (regular donations) or buymeacoffee (one-time donation).

Donate using Liberapay Buy Me A Coffee