BridgePal Scoring System

System Architecture

Each android smartphone/tablet runs a copy of the BridgePal app, which encapsulates a web browser (non-android devices use the browser directly). The user interface is implemented as a set of html pages. Javascript event handlers in the pages respond to user input and on-screen button presses, dynamically modifying the display as necessary. For example, while the user is entering the contract and result of the board, only the buttons relevant to the current stage of data input are displayed.

When input for a particular display is complete the javascript generates an http request to a web server on the coordinating PC. The request is passed by the web server to a PHP server which updates an Access database to log the data received. The response to the http request is another html page which is generated by the PHP server. For example, in the case of the contract entry screen, the response will display a traveller showing the results entered by all tables that have played that board so far. A retry of an http request is generated automatically by the BridgePal app if no response is received from the web server.

The Access database is also read by the scoring program, which extracts contracts, results, and other data entered by the user and updates its own scoring database.