trilogy-trivia

Fun student assessment, review and polling game. Hackathon finalist 2017.

Stars
1

Trilobytes

☞ Here to report an Issue ?

Watch the Overview video on Youtube (Slide Deck)

Question Bank

How to Contribute! (7:30 minutes, Youtube)

Help us contribute to this! Because of the way the repo is organized, simply dumping questions/answers/links into questions.json would suffice to share questions across all cohorts, if merged in via Pull Requests.

Per Issue #42, we could deal with choosing a subset of questions at the beginning of the round, and allow categorizing of the questions via topic/module. This bears a longer discussion, but right now, fork/edit/deploy will suffice for anyone to try this tool out with their own questions.

Question Schema:

  prompt: String
  choices: [String]
  answer: String
  links: [{href(URL), text(String)}]
  • Currently limited to the static list of questions defined in questions.json

  • An authoring tool/question randomizer would be great - but meanwhile, edit the questions and redeploy

Running a Game

Setup

  • Set up your questions, with answers and reference links, in questions.json
  • Make a new heroku app, if you don't have one already.
  • Do yarn build, and commit built files.
  • Push to your heroku instance.
  • Bring http://your-app.herokuapp.com/live up on the shared projector display, and http://your-app.herokuapp.com/remote up on a device.
  • Students should see on the home page that they can join at the link http://your-app.herokuapp.com/
  • Students will enter their names and wait.

Instructor clicks 'Advance Question'

  • Students answer
  • When the instructor desires, they Reveal the answer
  • Then Advances to the next question

Ending the game

Not enabled yet!

State Diagram

  • round - the current question and any responses
  • title - the title of the game
  • players - who's playing: map of Guid to {name}
  • clientId - each browser tab is identified with a Guid stored in state here, and this is sent along with every response to the server

Synchronization

Currently every connected browser gets an update of the server-side state object via a STATE_UPDATE event.

This means everyone's response goes to everyone's browser. While that is inefficient, it is intended to be pruned down later. Per Issue #26 though, it would be nice for a user to know whether they were the first to answer, and thus some knowledge of others' responses could be useful.

Future work

The Huboard Kanban Board has a bunch of issues, which are synced to Github Issues. Huboard is awesome.

Thank you for helping to make Trilobytes awesome and improve Student fun and retention!