summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornfoy <nfoy@purdue.edu>2014-05-01 17:00:10 -0400
committernfoy <nfoy@purdue.edu>2014-05-01 17:00:10 -0400
commit96ceacd40ecb7a8de62bb4c0af0249d1d075cf30 (patch)
tree60f3d980c871d3ef437be0506bf8784f1b0290d2
parenta8c3facbf23fca2259b13cde87b26e7578ccfc3a (diff)
parent618bd7bdb9b9f9a4e19d18e21dce3097c3f43291 (diff)
Merge branch 'master' of https://github.com/LukeShu/leaguer
-rw-r--r--doc/Sprint3-Retrospective.md86
1 files changed, 60 insertions, 26 deletions
diff --git a/doc/Sprint3-Retrospective.md b/doc/Sprint3-Retrospective.md
index 5debd84..8861e80 100644
--- a/doc/Sprint3-Retrospective.md
+++ b/doc/Sprint3-Retrospective.md
@@ -19,7 +19,7 @@ several days.
+---------------------------------------------------------+------+------------+----+
| [Remote Game UserNames](#remote_user) | 3 | Davis | 12 |
+---------------------------------------------------------+------+------------+----+
-| [Email verification](#email-varify) | 8 | Luke | 2 |
+| [Email verification](#email-verify) | 8 | Luke | 2 |
+---------------------------------------------------------+------+------------+----+
| [Alternate Scoring and pairing methods](#alt-score-par) | 5 | G, A, D | 7,8|
+---------------------------------------------------------+------+------------+----+
@@ -37,8 +37,6 @@ several days.
+---------------------------------------------------------+------+------------+----+
| [Make it look professional](#professional) | 3 | All | 1 |
+---------------------------------------------------------+------+------------+----+
-| [Expand Peer Evaluation](#peer-expansion) | 3 | G, A, D | 7 |
-+---------------------------------------------------------+------+------------+----+
| [Private Messages](#priv-messages) | 5 | N, L | 5 |
+---------------------------------------------------------+------+------------+----+
| [Alerts](#alerts) | 3 | Guntas | 4 |
@@ -52,7 +50,8 @@ several days.
+---------------------------------------------------------+------+------------+----+
| Tasks Implemented and Not Working Well | Size | Person | US |
+=========================================================+======+============+====+
-TODO
+| [Expand Peer Evaluation](#peer-expansion) | 3 | G, A, D | 7 |
++---------------------------------------------------------+------+------------+----+
@@ -69,11 +68,18 @@ TODO
## Intelligent Error Handling (#error-hand)
-TODO
+Several important cases for error redirection were handled via standard permissions
+changes and in the end only a few specific redirections needed to be coded directly
+(such as correctly handling redirections away from a destoryed tournament or match).
## Search (#search)
-TODO
+Search was given its own controller, and a static page callled "go.html.erb". The
+search controller essentially took the query, and made an SQL call to the users
+database and the tournaments dadtabase. We've moved the tournament and player
+display methods so that the search would display players and tournaments in the same
+way that they've been displaying in their respective "index.html.erb" page. Advanced
+search was added so that users could search tournaments by their game type.
## Remote Game UserNames (#remote_user)
@@ -85,7 +91,16 @@ TODO
## Alternate Scoring and pairing methods (#alt-score-par)
-TODO
+We overhaulted the entire tournament structure and introduced a modular/pluggable
+system for seeding, scheduling, sampling, and scoring, lovingly called the 4S Module
+System. We relocated code from other places into these modules in the 'lib'
+directory including form HTML which is retrieved dynamically from these modules.
+In the case of sampling (retrieving and populating statistics for scoring) we built
+an intelligent system for populating available modules for a game-type based on the
+statistics needed for its scoring methods which replaced their manual configuration.
+We introduced Tournament Stages to accomodate a wider range of tournament types
+and modes and designed the library modules to be general enough to use results of
+past stages or player statistics to affect future ones.
## Tournament preference interface (#tourn-prefer)
@@ -107,11 +122,24 @@ to then grab the rest of the data for the match.
## Map out brackets scaffolding (#brack-scaff)
-TODO
+Brackets are structures that have a users' prediction of the winners of a
+tournaments matches. Essentially, a tournament has many brackets, each bracket has
+a user that creates it, and each bracket has bracket-matches that correspond to the
+matches of the tournament the bracket belongs to. Bracket matches are only models,
+as the user should be able to predit all winners from a single view that belongs to
+a bracket. Brackets on the other hand have a model, controller, and views, so that
+users may create, edit, and view them.
## Create braket creation and submission gui (#brack-gui)
-TODO
+The bracket creation gui looks simple to the user, but does a lot on the backend.
+When the user presses "Make a bracket" on a tournament, a bracket is created based
+on the user, the tournament, and the tournament's matches. The bracket's submission
+GUI looks a lot like an elimination tournament's SVG, however the user is able to
+click on teams to advance them forward. The SVG has javascript functions that both
+advance the teams visually on the SVG, and write the user's prediction in a hidden
+form. When the user clicks submit, the predictions are saved in the bracket's
+matches.
## General Interface Cleanups (#interface-clean)
@@ -125,16 +153,13 @@ selection or input types for easy use.
## Make it look professional (#professional)
The team decided on a color scheme for Leaguer during this sprint. This scheme
-was applied to every page in the site. We implemented Gravatar in a few more
-spots as well, helping to distinguish between users more easily. The default
-image was changed to give each user a unique avatar even if they've not set one.
-Tournament creation and listing also received tune ups, with images listed with
-each tournament to help display its game type and a better creation page when
-creating a tournament.
-
-## Expand Peer Evaluation (#peer-expansion)
-
-TODO
+was applied to every page in the site. Since e-sport players often spend hours in
+front of screens, it was important to reduce eye strain by making our interface dark
+while keeping it sleek and modern. We implemented Gravatar in a few more spots as
+well, helping to distinguish between users more easily. The default image was
+changed to give each user a unique avatar even if they've not set one. Tournament
+creation and listing also received tune ups, with images listed with each tournament
+to help display its game type and a better creation page when creating a tournament.
## Private Messages (#priv-messages)
@@ -150,12 +175,12 @@ the message itself.
## Alerts (#alerts)
-The alerts system was implemented with the help of the Mailboxer gem which
-is the same as the personal message system. The Alert system was made available to anyone
-who had permissions to create an alert and all users were notified when an alert
-was created with live update, a pop up notification which redirects to the list of alerts,
-in the navigation bar of the recieving users. The alerts icon appered only when there is a
-new alert.
+The alerts system was implemented with the help of the 'Mailboxer' gem which
+is the same as the private message system. The Alert system was made available to
+anyone who had permissions to create an alert and all users were notified when an
+alert was created with a live update, a pop up notification which redirects to the
+list of alerts, in the navigation bar of the recieving users. The alerts icon
+appeared only when there is a new alert.
## Project Leaguer Logo (#logo))
@@ -165,8 +190,17 @@ TODO
# Implemented but not working well
-TODO
+## Expand Peer Evaluation (#peer-expansion)
+We created a scoring modules for users to select the preferred scoring method and
+preferred peer evaluation for users to choose from when creating a tournament.
+The peer evaluation modules calculate the score correctly but do not grab the
+statistics from the submission forms. The skeletons for three such scoring methods
+namely, winnerTakesAll, FibonacciPeerWithBlowout, MarginalPeer, have been created.
+The for MarginalPeer we do not have a view but we do have the methods that would
+calculate the score provided the stats are in the database. For WinnerTakesAll and
+FibonacciWithPeerBlowout we do have views and data being collected from the interface
+and used to calculate score.
# Not implemented