Design Document For DRAFT1846

From BOARD18 Project WIKI
Jump to navigation Jump to search
DraftFlow.png

Introduction

DRAFT1846 has been designed to look and feel as much like BOARD18 as possible.

This means that a couple of the sections of the BOARD18 design document can be applied, for the most part, directly to DRAFT1846.

These sections are:

The diagram to the right shows the general control flow between the DRAFT1846 components.
Note that many details have been omitted from this diagram.

Database Structure

The DRAFT1846 database is structured as follows:

 
mysql> show columns from draft_table;
+---------------+------------------+------+-----+-------------------+-----------------------------+
| Field         | Type             | Null | Key | Default           | Extra                       |
+---------------+------------------+------+-----+-------------------+-----------------------------+
| draft_id      | int(11) unsigned | NO   | PRI | NULL              | auto_increment              |
| draft         | text             | YES  |     | NULL              |                             |
| activity_date | timestamp        | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+---------------+------------------+------+-----+-------------------+-----------------------------+
3 rows in set (0.00 sec)

The draft field is a text string containing the stringafied JSON data object as shown below.

JASON Data Object

This Object contains all of the information about a given draft except for the Draft ID.

 
array (
  'status' => 'Active',
  'updtCount' => 0,
  'numbPlayers' => 4,
  'curPlayer' => 1,
  'deck' => 
  array (
    0 => 'Ohio and Indiana',
    1 => 'Michigan Central',
    2 => 'Meat Packing Co.',
    3 => 'Blank Card',
    4 => 'Mail Contract',
    5 => 'Big 4',
    6 => 'Tunnel Blasting Co.',
    7 => 'Blank Card',
    8 => 'Michigan Southern',
    9 => 'Blank Card',
    10 => 'Blank Card',
    11 => 'Chicago and W. Indiana',
  ),
  'hand' => 
  array (
  ),
  'players' => 
  array (
    0 => 
    array (
      'name' => 'Paul',
      'email' => 'paul.zieske@gmail.com',
      'confirmed' => 'Yes',
      'cash' => 400,
      'privates' => 
      array (
      ),
    ),
    1 => 
    array (
      'name' => 'Chris',
      'email' => 'garden.nomad@gmail.com',
      'confirmed' => 'Yes',
      'cash' => 400,
      'privates' => 
      array (
      ),
    ),
    2 => 
    array (
      'name' => 'Rich',
      'email' => 'rich02@board18.org',
      'confirmed' => 'Yes',
      'cash' => 400,
      'privates' => 
      array (
      ),
    ),
    3 => 
    array (
      'name' => 'Frank',
      'email' => 'franktaw@netscape.net',
      'confirmed' => 'Yes',
      'cash' => 400,
      'privates' => 
      array (
      ),
    ),
  ),
  'return' => 'success',
)


This page is a stub.
The BOARD18 Project will soon be expanding it.