diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/Sprint1-Retrospective.md | 220 | ||||
-rw-r--r-- | doc/Sprint2-Retrospective.md | 215 | ||||
-rw-r--r-- | doc/Sprint2.md | 103 | ||||
-rw-r--r-- | doc/Sprint3.md | 80 | ||||
-rw-r--r-- | doc/sprint2Retro.md | 12 |
5 files changed, 630 insertions, 0 deletions
diff --git a/doc/Sprint1-Retrospective.md b/doc/Sprint1-Retrospective.md new file mode 100644 index 0000000..7bffde7 --- /dev/null +++ b/doc/Sprint1-Retrospective.md @@ -0,0 +1,220 @@ +--- +title: "Team 6 - Project Leaguer: Sprint 1 Retrospective" +author: [ Nathaniel Foy, Guntas Grewal, Tomer Kimia, Andrew Murrell, Luke Shumaker, Davis Webb ] +--- + +# User Stories + +1) As an administrator, I would like to install and boot my own server. + - Alternately: As a developer, I would like a demo/testing server, + with a basic Rails setup. +2) As a host/player, I would like to register and have an account. + - For this task, we will be creating the user registration and log + in capabilities for Leaguer. +3) As a host, I would like to start a tournament. + - For this task, we will be creating a base tournament system for a + host to run. +4) As a host/player, I would like to enter scores for players. + - For sprint own, the scores will be entered by hand. +5) As an administrator, I want to specify how users become hosts. +6) As a user I would like to see the progress of the tournament in my + browser. +7) As a user, I would like a presentable homepage. + - For this task, we will be creating a Leaguer homepage and ensure that it + is pleasing to the eye and easy to navigate. + +# Tasks + +The "size" is using the modified Fibonacci scale. A '1' is expected +to take less than an hour. A '3' is expected to take 3-6 hours. A +'5' should take the better part of a day or two. An 8 should take +several days. + ++---------------------------------------------------------+------+--------+----+ +| Tasks Implemented and Working | Size | Person | US | ++=========================================================+======+========+====+ +| [Learn Rails, set up Scaffolding for all Models, Views, | 8 | All | 1 | +| Controllers](#learn-rails) | | | | ++---------------------------------------------------------+------+--------+----+ +| [Deploy rails on Luke's server](#deploy-rails) | 3 | Luke | 1 | ++---------------------------------------------------------+------+--------+----+ +| [Create log-in system back-end (verification, cookies, | 5 | Davis | 2 | +| and redirection)](#login-backend) | | | | ++---------------------------------------------------------+------+--------+----+ +| [Create log-in system UI](#login-ui) | 2 | Tomer | 2 | ++---------------------------------------------------------+------+--------+----+ +| [Create Tournament Settings Page](#tourney-settings) | 3 | Guntas | 3 | ++---------------------------------------------------------+------+--------+----+ +| [Implement Tournament Registration and Tournament | 2 | Andrew | 3 | +| Controller](#tourney-registration) | | | | ++---------------------------------------------------------+------+--------+----+ +| [Implement match controller](#match-controller) | 3 | Dav+And| 4 | ++---------------------------------------------------------+------+--------+----+ +| [Implement permissions system over the users | 3 | Luke | 5 | +| system](#permissions) | | | | ++---------------------------------------------------------+------+--------+----+ +| [Create View Tournament Page](#tourney-view) | 5 | All | 6 | ++---------------------------------------------------------+------+--------+----+ +| [Create Presentable Homepage](#homepage) | 5 | Guntas | 7 | ++---------------------------------------------------------+------+--------+----+ + + ++---------------------------------------------------------+------+--------+----+ +| Tasks Implemented and Not Working Well | Size | Person | US | ++=========================================================+======+========+====+ +| [Design and implement match score models](#match-score) | 3 | Foy | 4 | ++---------------------------------------------------------+------+--------+----+ +| [Create Admin-level Server Management Page](#srv-man) | 2 | Luke | 5 | ++---------------------------------------------------------+------+--------+----+ + + ++---------------------------------------------------------+------+--------+----+ +| Tasks Not Implemented | Size | Person | US | ++=========================================================+======+========+====+ +| [Design/Code Scoring/Pairing Algorithms and | 5 | Foy | 3 | +| Procedures](#score-algo) | | | | ++---------------------------------------------------------+------+--------+----+ +| [Observe Foy Design/Code Scoring/Pairing | 2 | Dav+Foy| 3 | +| Algorithms](#score-algo) | | | | ++---------------------------------------------------------+------+--------+----+ +| [Create a Player-level Data Entry Page/Method for | 3 | Tomer | 4 | +| Results](#data-entry) | | | | ++---------------------------------------------------------+------+--------+----+ + +# Implemented and working + +## Learn Rails {#learn-rails} + +Learning Rails has been a growing experience for the majority of the +team. Some of us coming from no significant experience to being able +to put together a relatively functional product in only three weeks +has been an impressive journey. + +## Deploy Rails {#deploy-rails} + +The entire team became familiar with deploying Rails in our rather +diverse working environments and successfully deployed a server +instance located at demo.projectleaguer.net as well as on our local boxes. + +## Login (back-end) {#login-backend} + +Our login back-end successfully logs users in and our and can handle +user registrations and first-come-first-serve uniqueness validation. + +## Login (UI) {#login-ui} + +Our login user interface successfully differentiates between logged in +and logged out users as well as between users of different +designations (although for the demo some of the hooks were not in +place, this has been fixed). + +## Tournament settings {#tourney-settings} + +Tournament settings were implemented at a basic level, instituting those +items which are similar to all tournaments, regardless of type, orginating +from the game model. + +## Tournament registration {#tourney-registration} + +Tournament registration and the tournament contoller were completed which +allowed users to join and participate in basic tournaments of several types. +The tournament controller handled a variety of tournament related tasks, +including creating and updating tournaments and validating tournament related +operations. + +## Match controller {#match-controller} + +The Match Controller creates the separate matches for a specific tournament. +When a tournament is started, it begins with an initial match that contains +no players. Currently, a player must join a match by entering the specific +tournament (by clicking the 'show' button on the tournament), +then they must enter the match (again by clicking the 'show' button but this +time on the match they desire to participate in) and then finally clicking +the 'join' button. This updates the match with the user as a participant in +the matc and then finally clicking the 'join' button. This updates the match +with the user as a participant in the match. A match can also be destroyed +by clicking the 'delete' button on the no longer desired match on the page. + +## Permissions system {#permissions} + +The permissions system is implemented, easy to use, and works well. +In some places, it appears to be broken (overly-permisive), but this +is because the relevant page doesn't hook into the permission system. +This needs to be fixed with unit tests. + +## Tournament view {#tourney-view} +The view page for tournaments contains a table that lists all on going +tournaments for all types of games. It also lists other game attribute like +Players per team, Teams per match, whether or not teams were randomized +and also has links to Show, Edit, Destroy, Join a particular tournament. +A link to create a tournament is also provided. Each of the links correspond +to view pages which are html.erb pages that provide styles and functionality +of each of the tournament setting features. Show, Edit, Destroy, all have +views of their own to perform each of the above actions. + +## Homepage {#homepage} +The homepage is mainly controlled by the views that are associated with each +model and controller. The main view for the homepage is the one found in the +layouts called application.html.erb, this view is responsible for display of +all the headings, navigation bars, forms and containers. This view page +contains mostly links to other view pages and yields whatever the other view +pages have to offer. The Homepage redirects to Login, Signup, See Ongoing +Tournaments and shows the view for those models. + + +# Implemented but not working well + +## Match score models {#match-score} + +This only functioned properly for noting which team would win a match. We want +more information to be included, such as individual player scores. We also +only had it working where the tournament host would decide who won. + +## Server management {#srv-man} + +The server management software interface is implemented, and working +fine. The other modules use it. However, what we didn't implement is +an actual *page* to edit these settings. We had this task in the +iteration because other items depended on it. Though we did not +implement the full story, we implemented the core reason that we +wanted it. + +# Not implemented + +## Scoring Algorithms {#score-algo} + +Scoring algorithms was not implemented because we did not have time for +implementing player statistics in the first sprint. There were some +preliminary approaches, but the task lost priority and was abandoned. + +## Data entry {#data-entry} + +It was decided to not be a priority for sprint one due to time constraints. +Also, we want to implement data entry for League of Legends through +Riot Games (TM)'s API for grabbing match data. + +# How to improve + +Peer reviews and testing were our biggest pitfalls. + + +1. All testing was just manual, in-browser testing, rather than unit + tests. We really need write unit tests this iteration, as we had + breakages where we said "this is exactly why we need unit + testing." However, that happened late enough in the iteration that + we didn't have time to do anything about it. + +2. That leads us into time management. Our commit activity plotted + against time has humps each weak, each growing a little. That is, + we started slow, and ended with a lot of work. This wasn't exactly + poor planing, but we had a poor idea of how much time things would + take. We plan to fix this by front-loading this iteration instead + of back-loading it. + +3. We had the approach of "show everyone everything" with peer + reviews, as we anticipated that this would be nescessary for + everyone learning Rails. However, in effect it meant that + sometimes information was spread very thin, or because things were + being done "in the open", we didn't ever explicitly review them. + We plan on fixing this next iteration by committing to do very + specific peer reviews with just a couple members of the team. diff --git a/doc/Sprint2-Retrospective.md b/doc/Sprint2-Retrospective.md new file mode 100644 index 0000000..9a98ec5 --- /dev/null +++ b/doc/Sprint2-Retrospective.md @@ -0,0 +1,215 @@ +--- +title: "Team 6 - Project Leaguer: Sprint 2 Retrospective" +author: [ Nathaniel Foy, Guntas Grewal, Tomer Kimia, Andrew Murrell, Luke Shumaker, Davis Webb ] +--- + +# Tasks + +The "size" is using the modified Fibonacci scale. A '1' is expected +to take less than an hour. A '3' is expected to take 3-6 hours. A +'5' should take the better part of a day or two. An 8 should take +several days. + ++---------------------------------------------------------+------+------------+----+ +| Tasks Implemented and Working | Size | Person\* | US | ++=========================================================+======+============+====+ +| [Implement Anti-spam measures](#anti-spam) | 2 | Davis | 2 | ++---------------------------------------------------------+------+------------+----+ +| [Implement Teammate Rating System (peer review view)] | 5 | Guntas | 3 | +| (#peer-review) | | | | ++---------------------------------------------------------+------+------------+----+ +| [Design/Code Scoring/Pairing Algorithms and Procedures] | 5 | D+F+A | 3 | +| (#pair-alg) | | | | ++---------------------------------------------------------+------+------------+----+ +| [Implement game-type specific and tournament | 8 | L+A+G | 4 | +| specific settings and preferences] (#setting-and-pref) | | | | ++---------------------------------------------------------+------+------------+----+ +| [Retrieve data from Riot Games (TM) API ](#riot-api) | 3 | Foy | 5 | ++---------------------------------------------------------+------+------------+----+ +| [Parse Riot data and attach to scoring subsystem] | 5 | Davis | 5 | +| (#parse-riot) | | | | ++---------------------------------------------------------+------+------------+----+ +| [Teach Andrew and Tomer AJAX ](#teach-ajax) | 2 | Luke | 6 | ++---------------------------------------------------------+------+------------+----+ +| [Make pages auto-update with AJAX](#ajax) | 5 | T+A | 6 | ++---------------------------------------------------------+------+------------+----+ +| [Setting up a Tournament View for matches and tree] | 5 | Tomer | 7 | +| (#match-gui) | | | | ++---------------------------------------------------------+------+------------+----+ +| [Increase Usability](#usability) | 3 | All-L | 8 | ++---------------------------------------------------------+------+------------+----+ +| [Develop comprehensive data storage for s&p&other] | 5 | L+A | 9 | +| (#data-storage) | | | | ++---------------------------------------------------------+------+------------+----+ +| [Create Player Profile Pages](#profile) | 2 | Tomer | 10 | ++---------------------------------------------------------+------+------------+----+ +| [Gravatar Integration](#gravatar) | 2 | Foy | 10 | ++---------------------------------------------------------+------+------------+----+ + + + + ++---------------------------------------------------------+------+------------+----+ +| Tasks Implemented and Not Working Well | Size | Person\* | US | ++=========================================================+======+============+====+ +| [Not Applicable](#all-or-nothing) | 0 | --- | 0 | ++---------------------------------------------------------+------+------------+----+ + + + + ++---------------------------------------------------------+------+------------+----+ +| Tasks Not Implemented | Size | Person\* | US | ++=========================================================+======+============+====+ +| [Email Verification Option](#email-varify) | 5 | Luke | 2 | ++---------------------------------------------------------+------+------------+----+ +| [Project Leaguer Logo](#logo) | spike| D+G | 8 | ++---------------------------------------------------------+------+------------+----+ +| [Define Specific Unit Tests for Security] | 3 | All | 1 | +| (#security-test) | | | | ++---------------------------------------------------------+------+------------+----+ + + + + +# Implemented and working + +## Implement Anti-spam measures {#anti-spam} + +To handle potential spam problems, Project Leaguer has implemented Simple Captcha +on the user sign up page. Users must enter the correct code corresponding with +Simple Captcha's generated image when registering. Usernames must also be unique. +E-mail verification has been pushed to Sprint 3. + +## Implement Teammate Rating System (peer review view) {#peer-review} + +This sprint covered both the database framework and actual implementation of the +peer review rating system. Peer review was accomplished with both server-side +processing and client-side manipulation of the DOM via a floating tactile dragable +info-box interface. + +## Design/Code Scoring/Pairing Algorithms and Procedures {#pair-alg} + +Several scoring algorithms were considered for demonstration purposes for this +sprint and eventually a modified fibonachi peer review system was chosen as the +most fair system. This was the only scoring algorithm implemented in this sprint. +A single-elimination pairing algorithm was chosen for similar reasons (as well +as for simplicity in SVG generation). + +## Implement game-type specific and tournament specific settings and preferences + {#setting-and-pref} + +The input for settings and preferences for creating tournaments are displayed +dynamically in both the substance of the content and form in which it is displayed. + +## Retrieve data from Riot Games (TM) API {#riot-api} + +Grabbing League of Legends user and match data from Riot's servers has been +implemented using their newly available API. A developer key is necessary in +order to retrieve data from their servers. We currently are using Davis's to do +so. Information is grabbed with HTTParty.get and the correct url. A hash of +information is stored this way. Grabbing information for a user requires the +user's League of Legends summoner's name or summoner id. Our current developer +key is limited to utilizing 10 pulls per 10 seconds. + +## Parse Riot data and attach to scoring subsystem {#parse-riot} + +We successfully parse the data we recieve from the Riot servers. The information +is stored in a JSON hash which we separate based on the information we want (like +kills, deaths, etc). One issue with our current pull method is that it can exceed +the pull limit that is on our current development key. To fix this, we are planning +on implementing a remote user id to link users Leaguer information to their Riot +information. + +## Teach Andrew and Tomer AJAX {#teach-ajax} + +Luke instructed Tomer on his AJAX tasks, but most of Andrew's were deferred to +sprint 3 and he focused his efforts elsewhere. + +## Make pages auto-update with AJAX {#ajax} + +AJAX was used in tournament and match views to update the tournament progress bar +and manage input options for tournament flow but still needs to be implemented +across the website in other areas. + +## Setting up a Tournament View for matches and tree {#match-gui} + +A new system was set-up so that matches are created from the trunk (final match) to +the most out matches, and teams are inserted into matches starting at the leaves and +and filling up the trunk. Any number of teams is now supported. A lot of log-based +math was used to write the rails-generated SVG, and a lot of arithmetic was done to +calculate the relative proportions. + +## Increase Usability {#usability} + +Project Leaguer has many new features that have increased usability. AJAX +integration, tournament visuals (ready bar, match trees), Gravatar images, +and Riot API integration all contribute towards an easier and more automatic +web interface available for our users to utilize. + +## Develop comprehensive data storage for s&p&other{#data-storage} + +Settings and Preferences (those options specific to tournaments of a game type +or a specific tournament, respectively) are handled through a single +TournamentPreference SQL (ActiveRecord) interface. + +## Create Player Profile Pages {#profile} + +Player Profile Pages successfully list important and useful user information. +Player username, e-mail, relationship status, and recent tournament information +are all listed on a user's profile page. Gravatar images are also shown here. +Users can also edit their pages. + +## Gravatar Integration {#gravatar} + +Gravatar images are fetched from the gravatar website. A user's e-mail is used to +generate a hash key and that key is used to grab their gravatar image from a url. +If their e-mail is not recognized by Gravatar, then we have a wide number of +optionable default images to use. We currently use a mystery man default. It's +also possible to utilize a number of other image options, such as sizing. + + + +# Implemented but not working well + +## Not Applicable {#all-or-nothing} + +Everything we implemented was implemented well, or else we didn't implement it. + + + +# Not implemented + +## Email Verification Option {#email-verify} + +This was not implemented for lack of time. Luke probably would have been able to +implement it with his time constraints if he wasn't busy frequently assisting +other members with various problems. In the end, the email verification was also +simply a low priority. + +## Project Leaguer Logo {#logo} + +The Project Leaguer Logo was discussed before the sprint started. We decided we +would follow up on any opportunities to explore creating a Leauger Logo, but this +simply did not happen. We greatly want one, but it's still just a low priority +extra feature. + +## Define Specific Unit Tests for Security {#security-test} + +Because of heavy "dog-food" style testing during the development process and +fairly heavy rapid redesign, specific unit tests were not given a high priority +for this sprint. The interdependency of components for tournament logic provided +near-instant feedback when something was wrong. + +# How to improve + +1. We can better document our code with proper commentation and indentation. The +team has run into issues where we've become confused with our own code and wasted +time reviewing code. + +2. Our commits slowed to a halt the week before spring break. In this upcoming +sprint we plan to take a stronger initiative and take a running start rather than +a last lap dash. + +3. We can more carefully push and merge. We ran into a couple issues where team +members broke each others work. These mistakes cost a lot of time to fix. diff --git a/doc/Sprint2.md b/doc/Sprint2.md new file mode 100644 index 0000000..a823600 --- /dev/null +++ b/doc/Sprint2.md @@ -0,0 +1,103 @@ +--- +title: "Team 6 - Project Leaguer: Sprint 2" +author: [ Nathaniel Foy, Guntas Grewal, Tomer Kimia, Andrew Murrell, Luke Shumaker, Davis Webb ] +--- + +# User Stories + +1) As an admin, I would like hosts/players, to have only the options + their group entitles them to. + +2) As an admin, I would like anti-spam measures for registration. + +3) As a player I would like to review my peers and have our + scores reflect these reviews. + +4) As a host I would like to have both game-type specific settings and + tournament specific preferences available when creating a new + tournament. + - These settings and preferences were moved to sprint 2 from sprint 1 + because we did not have the API functionality for any specific game yet. + +5) As a host/player/spectator I would like to have Riot Games League + of Legends API integration for match and player statistics and results for + League of Legends tournaments. + +6) As a host/player, I would like my pages to actively update without + refreshing my current page. + - For this task, we will implement an Active Status Update system with AJAX. + +7) As a host/player, I would like to see an interactive tournament lobby page + that displays tournament and match information. + - This will be accomplished with dynamic graphs, trees, and status bars. + +8) As a host/player, I would like the Leaguer application to be more intuitive + and easy to use. + +9) As a user, I would like past tournament and player information to be + persistent and search-able. + - A working search utility should be implemented that will find specific + players or tournaments and return their pages. + +10) As a user, I would like to see Player Profile pages. + - For this task, we will be creating profile pages for registered users that + have player-specific information such as tournament history and activity. + +# Tasks + +The "size" is using the modified Fibonacci scale. A '1' is expected +to take less than an hour. A '3' is expected to take 3-6 hours. A +'5' should take the better part of a day or two. An 8 should take +several days. + ++---------------------------------------------------------+------+------------+----+ +| Task Description | Size | Person\* | US | ++=========================================================+======+============+====+ +| Define Specific Unit Tests for Security | 3 | All | 1 | ++---------------------------------------------------------+------+------------+----+ +| Implement Anti-spam measures | 2 | Davis | 2 | ++---------------------------------------------------------+------+------------+----+ +| Email Verification Option | 5 | Luke | 2 | ++---------------------------------------------------------+------+------------+----+ +| Implement Teammate Rating System (peer review view) | 5 | Guntas | 3 | ++---------------------------------------------------------+------+------------+----+ +| Design/Code Scoring/Pairing Algorithms and Procedures | 5 | D+F+A | 3 | ++---------------------------------------------------------+------+------------+----+ +| Implement game-type specific and tournament | 8 | L+A+G | 4 | +| specific settings and preferences | | | | ++---------------------------------------------------------+------+------------+----+ +| Retrieve data from Riot Games (TM) API | 3 | Foy | 5 | ++---------------------------------------------------------+------+------------+----+ +| Parse Riot data and attach to scoring subsystem | 5 | Davis | 5 | ++---------------------------------------------------------+------+------------+----+ +| Teach Andrew and Tomer AJAX | 2 | Luke | 6 | ++---------------------------------------------------------+------+------------+----+ +| Make pages auto-update with AJAX | 5 | T+A | 6 | ++---------------------------------------------------------+------+------------+----+ +| Setting up a Tournament View for matches and tree | 5 | Tomer | 7 | ++---------------------------------------------------------+------+------------+----+ +| Increase Usability | 3 | All-L | 8 | ++---------------------------------------------------------+------+------------+----+ +| Project Leaguer Logo | spike| D+G | 8 | ++---------------------------------------------------------+------+------------+----+ +| Develop comprehensive data storage for s&p&other | 5 | L+A | 9 | ++---------------------------------------------------------+------+------------+----+ +| Create Player Profile Pages | 2 | Tomer | 10 | ++---------------------------------------------------------+------+------------+----+ +| Gravitar Integration | 2 | Foy | 10 | ++---------------------------------------------------------+------+------------+----+ +| Test it | 1 | All-L | all| ++---------------------------------------------------------+------+------------+----+ +| Peer review | 1 | All | all| ++---------------------------------------------------------+------+------------+----+ + +Total Size of Iteration: 55 + + D = Davis = 10 + A = Andrew = 10 + F = Nathaniel = 10 + G = Guntas = 10 + L = Luke = 11 + T = Tomer = 10 + +\* `+` means those members work together, `-` means exclude following members diff --git a/doc/Sprint3.md b/doc/Sprint3.md new file mode 100644 index 0000000..31f505e --- /dev/null +++ b/doc/Sprint3.md @@ -0,0 +1,80 @@ +--- +title: "Team 6 - Project Leaguer: Sprint 3" +author: [ Nathaniel Foy, Guntas Grewal, Tomer Kimia, Andrew Murrell, Luke Shumaker, Davis Webb ] +--- + +# User Stories + +1) As a user, I would like the web interface to look more professional and complete. + +2) As an admin, I would like to have an email verification system for a more secure + and spam free enviroment. + +3) As a user, I would like intelligent error handling (e.g. 404 and 403 redirection). + +4) As an admin, I would like to send alerts to users. + +5) As a user, I would like to be able to send private messages. + +6) As a user, I would like a working search utility. + +7) As a host or player, I would like customizable settings for peer evaluation and + scoring. + +8) As a host, I would like to have multiple tournament structures and types for + pairing and running tournaments. (e.g. Round Robin team pairings). + +9) As a host, I would like to have an interface for adding tournament-specific + preferences (e.g. Capture the Teemo). + +10) As a user, I would like to view and create brackets. + +11) As a user, I would like the Riot API to be asynchronously polled in the + background so League of Legends tournaments proceed automatically. + +12) As a player, I would like a way to enter my usernames for several different + remote games. + + +#Tasks + +The "size" is using the modified Fibonacci scale. A '1' is expected +to take less than an hour. A '3' is expected to take 3-6 hours. A +'5' should take the better part of a day or two. An 8 should take +several days. + ++---------------------------------------------------------+------+------------+----+ +| Task Description | Size | Person | US | ++=========================================================+======+============+====+ +| Intelligent Error Handling (404 redirection) | 3 | Andrew | 3 | ++---------------------------------------------------------+------+------------+----+ +| Search | 5 | Tomer | 6 | ++---------------------------------------------------------+------+------------+----+ +| Remote Game UserNames | 3 | Davis | 12 | ++---------------------------------------------------------+------+------------+----+ +| Email verification | 8 | Luke | 2 | ++---------------------------------------------------------+------+------------+----+ +| Alternate Scoring and pairing methods | 5 | G, A, D | 7,8| ++---------------------------------------------------------+------+------------+----+ +| Tournament preference interace | 3 | Andrew | 9 | ++---------------------------------------------------------+------+------------+----+ +| More types of seeded settings | 2 | Andrew | 9 | ++---------------------------------------------------------+------+------------+----+ +| Asynchronous Riot Pulls | 5 | Nathaniel | 11 | ++---------------------------------------------------------+------+------------+----+ +| Map out brackets scaffolding | 5 | Tomer | 10 | ++---------------------------------------------------------+------+------------+----+ +| Create braket creation and submission gui | 3 | Tomer | 10 | ++---------------------------------------------------------+------+------------+----+ +| General Interface Cleanups | 2 | Tomer | 1 | ++---------------------------------------------------------+------+------------+----+ +| Make it look professional | 3 | All | 1 | ++---------------------------------------------------------+------+------------+----+ +| Expand Peer Evaluation | 3 | G, A, D | 7 | ++---------------------------------------------------------+------+------------+----+ +| Private Messages | 5 | N, L | 5 | ++---------------------------------------------------------+------+------------+----+ +| Alerts | 3 | Guntas | 4 | ++---------------------------------------------------------+------+------------+----+ +| Project Leaguer Logo | spike| G, D | 1 | ++---------------------------------------------------------+------+------------+----+ diff --git a/doc/sprint2Retro.md b/doc/sprint2Retro.md new file mode 100644 index 0000000..1a40bac --- /dev/null +++ b/doc/sprint2Retro.md @@ -0,0 +1,12 @@ +Riot API
+
+The Riot API allowed us to pull information from the Riot servers for League of Legends
+Tournaments. For sprint 2, we were able to pull the information, but not very efficiently.
+We ran into an issue where we were making too many pull requests for our Riot developer key
+which would gave us some issues.
+
+Anti-Spam
+
+For now, the only anti-spam protection that we have is a captcha at the user creation page.
+Our hopes is to implement an email verification system in order to help further protect
+Project Leaguer from spam.
|