Table of Contents

Decide : a planning / decision making web app

Goal

Allows one to poll contacts for choices about meeting time and/or open options through a simple interface

Features

Data model

users
id umint, primary, autoinc
email vc(128), unique
name vc(100)
timezone vc(16)
freebusy vc(255) url
created datetime
lastseen datetime
virtualhost vc(64), null
polls
id vc(16), primary random a-z0-9
owner_id umint ref users.id
name vc(255)
description text
choices text
created datetime
updated datetime
expires datetime
timezone vc(16)
maxanswers umint, null
allowanonymous utint, 0
virtualhost vc(64), null
answers
id umint, primary, autoinc
poll_id vc(16) unique with user_id
user_id umint unique with poll_id
choices text
created datetime
updated datetime
comment text
virtualhost vc(64), null

Filesystem organisation

/decide
  /classes # PHP classes
  /config # Config files
  /scripts # Admin, cron ...
  /language # Lang files
  /log # if internal logging, it goes here
  /www
    /rest.php # REST WS
    /gui.php # User interface
    /index.php # > gui.php
    /res
      /js
      /css
      /images
      /skin
        /<vhost>
          /script.js
          /styles.css
          # ...