summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavisLWebb <davislwebb@ymail.com>2014-05-01 17:02:12 -0400
committerDavisLWebb <davislwebb@ymail.com>2014-05-01 17:02:12 -0400
commitffb8baa973debcbe2c53c3f2c51a9823c563dbc9 (patch)
treea0d42daf7eb0c9bc1bfd0bcb91203594f8af2892
parent1d75ec08893cd00d30b2bbf6c914fe42f2379d98 (diff)
parent618bd7bdb9b9f9a4e19d18e21dce3097c3f43291 (diff)
Merge branch 'master' of https://github.com/LukeShu/Leaguer
Conflicts: doc/Sprint3-Retrospective.md
-rw-r--r--doc/Sprint3-Retrospective.md107
1 files changed, 79 insertions, 28 deletions
diff --git a/doc/Sprint3-Retrospective.md b/doc/Sprint3-Retrospective.md
index 9ff53df..74c2ef0 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|
+---------------------------------------------------------+------+------------+----+
@@ -33,12 +33,10 @@ several days.
+---------------------------------------------------------+------+------------+----+
| [Create braket creation and submission gui](#brack-gui) | 3 | Tomer | 10 |
+---------------------------------------------------------+------+------------+----+
-| [General Interface Cleanups](#interface-cleean) | 2 | Tomer | 1 |
+| [General Interface Cleanups](#interface-clean) | 2 | Tomer | 1 |
+---------------------------------------------------------+------+------------+----+
| [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,6 +50,9 @@ several days.
+---------------------------------------------------------+------+------------+----+
| Tasks Implemented and Not Working Well | Size | Person\* | US |
+=========================================================+======+============+====+
+| [Expand Peer Evaluation](#peer-expansion) | 3 | G, A, D | 7 |
++---------------------------------------------------------+------+------------+----+
+
## Remote Game UserNames (#remote_user)
@@ -98,20 +99,22 @@ to be done.
+=========================================================+======+============+====+
TODO
-
-
-
-
# Implemented and working
## 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.
## Email verification (#email-varify)
@@ -119,16 +122,21 @@ 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)
TODO
-
-
-
-
TODO
## Asynchronous Riot Pulls (#async)
@@ -137,37 +145,80 @@ TODO
## 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-cleean)
+## General Interface Cleanups (#interface-clean)
-TODO
+Project Leaguer better handled tournament interface in this iteration. Tournaments
+are listed more cleanly on the index page. Each game type has an icon listed with
+it to better identify different game types on the index page. Each tournament's
+host's gravatar is also listed on the index page. Creating a tournament itself is
+also cleaner. Customization categories are clearly separated and use the correct
+selection or input types for easy use.
## Make it look professional (#professional)
-TODO
-
-## Expand Peer Evaluation (#peer-expansion)
-
-TODO
+The team decided on a color scheme for Leaguer during this sprint. This scheme
+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)
-TODO
+Private Messsaging in Project Leaguer is possible between two registered users.
+Project Leaguer uses the gem 'Mailboxer' to achieve private messaging. A user
+is able to interact with the private messaging system by clicking on the "Messages"
+located in the header toolbar at the top of every page. This results in the index
+page, which lists all unread and read conversations. You can then click on a
+conversation to view all of its messages and from there you can also reply.
+Creating a new message is as simple as: click the "start a new conversation",
+list the user you wish to pm with, write the conversation's subject, and write
+the message itself.
## Alerts (#alerts)
-TODO
+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.
# 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