Project crushQuiz


  1. About Us
  2. Idea
  3. Functionality and Components
    1. Limitations
    2. Server-side
    3. Client-side
      1. Players
      2. Question and Scoreboard
  4. Implementation

About Us

We, Tomas, Kos, Andrew, Pawel, and myself (Hans) are a group of students studing at Heriot-Watt Universtiy. All of use are within the MACS Department, or the Mathematics and Computer Sciences Department.


The purpose of this project was to create a community based game that could be played in the MACS Department’s crush area. (i.e curshQuiz)

This game had to be accessible from the web, either using a computer or a smartphone. We decided for simplicity’s sake to use PHP and Javascript as the base. However with this came the complication of keeping this a community-based game. The solution was actually the catalyst for this whole project, the crush area has TV monitors on the walls; they are driven by small-form-factor PCs.

We decided that for the purposes of prototyping we would create a quiz game. Each question would have several possible answers associated with it. The questions themselves would have a time limit, once reached the next question is displayed.

Using their PC or smartphone, players would logon using a username of their choosing. On one (or several) of the monitors would be the current question and possible solutions, next to it (or on another monitor) would be a real-time scoreboard. The players would read of the question from the screen, and enter in their answer using the buttons displayed on thier web browser.

Seconds later, the player’s username and their chosen answer would be displayed on the scoreboard. When the question reaches its time limit, the scoreboard would list the correct answer. This process would repeat until the user exits.

Functionality and Components


Due to security concerns, the MACS Department’s servers are restricted in regards to databases and PHP module support (such as APC or SQLite). As such we were forced to resort to flat-files (XML) and Google’s Fusion Tables. The fusion tables aren’t all that difficult, however while building this project, we all saw how it was lacking and irritating at times….


As stated above, the primary system to use is PHP.


As would be expected we used Javascript and your typical HTML5. However Andrew (are in-house tech wizard) decided the nicest way to to display the pages would be to use Twitter’s Bootstrap, a CSS3 stylesheet with everything you could imagine (or not) needed to make an EPIC looking page.

Basically, the javascript is what drives the site. The PHP does not function on its own, it needs to be 'called’.

Furthermore the javascript sets a cookie on the player’s browser for the sake of 'user-login’ control.


Question and Scoreboard


This project has at this point not accepted, or is in use of, any license. However to confirm this please check the LICENSE file at the root of the directory.

This project holds no copyrights© or trademarks™.

Use of Other Software/Code