Skip to content

cindyc-dev/quizoo

Repository files navigation

Quizoo

Features

  1. Create a deck with a bunch of different cards

TODO

  • Setup Pusher
  • Host Create Channel
    • Generate Game ID
    • #later Rejoin/Kill existing Game
    • View Currently Joined Players
      • [ ]
    • Reload Joined Players
      • HTTP Post Request
      • #later Automatically Reload every X minutes/seconds
    • Toggle between using HTTP and socket joining
    • #later use database to track player names
    • #way-later Authentication
    • #later Automatically Copy the Game ID
    • #later figure out
  • Player Join Channel
  • #security Multiple Hosts Error
    • using pusher
      • join event triggered by client host and listened by client hosts - if another host is detected, send request to server to kick duplicate host (popup shown on other host's screen to close original tab)
    • using database and auth tokens
    • join event listened by other hosts
  • #security Too Many Players Error
    • using Pusher's HTTP API
  • Cards
    • Create Card
    • Edit Card
    • Delete Card
    • Start Game
    • Waiting Screen
  • Show Card to Players
  • Presentation Controls
    • Back/Forward
  • Answer Screen
  • #later Emotes
  • Card Types
    • Type Answer
    • Single MCQ
    • Multiple MCQ
  • Timer
  • Notes
  • #later Add Music
  • Player

Counting Messages

  • [1] Host Create
  • [1] Player Join
    • Host
  • [1] Player Leaves

Things to Learn more about

  • Peer-to-peer comms
  • Pusher Authorized Channels

Security Features

  • Don't allow blocked players to re-enter room
  • Block after certain number of PIN enters
  • Authentication and Authorisation

Flow

  1. Host Creates Game - sends
  2. #PIN is generated by server