During this activity, students should be able to:
This activity helps students develop the following skills, values and attitudes: ability to analyze and synthesize, capacity for identifying and solving problems, and efficient use of computer systems.
This activity must be developed in teams of two or three people.
Design and write a Ruby web application that facilitates the administration of soccer pools. The application must implement the following use cases:
The administrator, after being authenticated, enters all the matches that will be considered during this new pool. Only the name of the two soccer teams must be specified for every match. From this moment onwards, users can enter their picks. A new pool cannot be opened until the previous one has concluded.
The administrator, after being authenticated, closes the current pool. Only open pools can be closed. No one can enter or modify picks from that moment onwards. This operation should be carried out before the first match.
A user creates an account. The system requests a login and password. The login should be unique. All users start with a zero points score.
A user, after being authenticated, enters his/her picks as long as the current pool is open. For every match, the user must specify who he/she thinks will win, or if it will be a tie. Users may modify their picks as many times as they wish as long as the current pool is open.
The administrator, after being authenticated, enters the final results for each match (who won or if it was a tie) of the current poll (which must be closed). All the users that entered their picks must get their scores computed, obtaining one point for every match result correctly guessed. From this moment, the poll is considered concluded and a new poll can be opened.
Any person can review the results of all concluded polls. The results must appear in a table like the following one:
User | P1 | P2 | P3 | P4 | Total |
angie | 4 | 3 | 4 | 5 | 16 |
bobie | 4 | 2 | 3 | 6 | 15 |
malena | 5 | 3 | 0 | 2 | 10 |
kika | 3 | 2 | 0 | 2 | 7 |
hippo | 1 | 0 | 0 | 1 | 2 |
For each user, the score obtained for each concluded poll is displayed (P1, P2, ...). The total sum for each user must appears at the very last column. The rows must be sorted in descending order by total sum.
rdoc
utility.
# Final Project: Soccer Pool # Date: 30-Nov-2015 # Authors: A00456654 Thursday Rubinstein # A01160611 Anthony Stark
You must also write the documentation for your application's design and architecture.
See the example in: greeter.tgz
Check the file greeter/src/README.txt
to get all the indications on how to produce the documentation. This is how the final result should look: greeter/doc/index.html
The documentation must include these sections:
Place all the contents of your project and the documentation into a tarball file called soccer.tgz
. Only one person of the team needs to deliver this file.
To deliver the soccer.tgz
file, please provide the following information:
Due date is Monday, November 30.
This activity will be evaluated using the following criteria:
DA | The program was plagiarized. |
---|---|
40% | Documentation meets all the specified requirements. |
40% | Correct implementation of all the use cases and requirements. |
20% | Appropriate hand coded implementation of the active record pattern. |