October 2011 Coding Challenge/Judging

In order to administer the Weekend of Code challenge effectively, we need to build a simple system for gathering information about contest participants. This is the first cut at building those requirements.

= Gathering Contestant Data =

Asterisk indicates required field, all others optional, question mark means "do we really want to ask this?"


 * Full Name (*)
 * User name (*)
 * Email Address (*)
 * Interest in volunteer participation
 * Country (*)
 * Code Submission (*)
 * Assigned UID

Submitting this form puts the user's info into the system. They should be able to change this info at any time until the contest closes, at which point this data should be locked.

We need to work out the details of code submission, but the general idea is that the user can submit code at any time, just like other fields, and when the contest closes, this data is locked. Emphasis on simple.

The Assigned UID is the mechanism that will allow judges to identify contestants for anonymous judging purposes.

= Getting/Setting Contestant Status =


 * Should allow for multiple judges.
 * During the period of the contest, personally identifiable information should be unavailable to the judges.
 * Should be able to set notes and flags for each contestants.
 * Notes: just simple text field.
 * Flags:
 * Not yet reviewed
 * In Process (currently being reviewed)
 * Rejected (reviewed and does not meet basic requirements)
 * Accepted (reviewed, meets basic requirements, passed on to second stage)
 * +1s (a simple way of recording a judge's +1 vote)
 * Winner (big winner!)
 * Need the ability to track who set the flag!
 * Simple sortable views by flags (i.e. show me all users with Flag X)
 * Basic mail merge functionality
 * i.e. send this email to all users with Flag X
 * fallback: give me csv of email addresses of all users with Flag X

= Possible judging criteria (note separately later) =

Not sure we necessarily want separate categories, but we should definitely spell out what we're looking for in a good entry. Here are some ideas.


 * Exceptional documentation award. People love to build on worked examples, and a great worked example with great documentation might be worthy of its own award.
 * Most functionality in the tightest code.
 * Best UI enhancement.