You are here:   ArielOrtiz.com > S/W Design and Architecture > Final Project: Soccer Pool

Final Project: Soccer Pool

Objectives

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.

Activity Description

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:

Opening the Pool

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.


Closing the Pool

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.


User Registration

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.


Entering Picks

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.


Poll Conclusion

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.


Poll Results

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.

Additional Requirements

Deliverables

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.

✔ Upload Instructions

To deliver the soccer.tgz file, please provide the following information:

Request PIN

Due date is Monday, November 30.

Evaluation

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.