summaryrefslogtreecommitdiff
path: root/doc/Sprint1-Retrospective.md
blob: 22970515edcbe669f294b69e308136db01e190cd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
---
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 tournamnet.
    - 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 backend (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}

This task went OK.

## Deploy Rails {#deploy-rails}

f

## Login (backend) {#login-backend}

f

## Login (UI) {#login-ui}

## Tournament settings {#tourney-settings}

## Tournament registration {#tourney-registration}

## Match controller {#match-controller}

## Permissions system {#permissions}

## 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}



# 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.

# End

1. Each task must be mentioned under the right category (implemented
   and working, implemented but did not work well, or not implemented
   and the team must mention why/how it worked or why/how did not
   work: 3.5 points ( - 1.0) for each unmentioned task, ( - 0.5) for
   each task that is not properly described or placed under the wrong
   category.

2. How to improve: Please mention at least 3 ways  about  how to
   improve your work.  - 0.5 for each  missing point. (Total: 1.5
   points)

3. For the tasks that were not implemented or did not work well, the
   team should implement or fix these as necessary in the next
   Sprint. We will use this Retrospective document in the next Demo
   Meeting.