Iteration 1 Plan - TAGCH/ku-polls GitHub Wiki
Goal
A workable web app that displays poll questions and allows visitors to select a poll question from a list of responses. The application displays the correct number of "votes" for each choice in the selected poll question. The results are retained even if the application is restarted.
Milestone
- Application displays a list of active polls and allows voting on each poll.
- The application displays the total number of "votes" for each choice in a poll. The outcomes are persistent across restarts.
Features
- Display a list of the most recent poll questions.
- Each poll question is linked to a page that displays the question and a list of choices.
- Visitor can choose a poll question and vote on it. His/her vote is counted toward the total.
- Visitor can see the total votes for each choice on a poll question after voting.
- Every poll has a publication date (start date) and is only visible on or after that date.
- The poll questions and responses are saved in a database.
- The administrator has the ability to add or modify poll questions and choices.
Acceptance Criteria
-
Display of Active Polls
- The application must show a list of the most recent active poll questions on the main page.
- Each poll question must link to a detailed page where the question and list of choices are displayed.
-
Voting Functionality
- Visitors must be able to select a poll question from the list and cast their vote for one of the choices.
- Votes must be counted accurately and added to the total for each choice.
- After voting, visitors must see the updated total votes for each choice.
-
Poll Visibility
- Each poll must have a publication date (start date) and be visible only on or after this date.
- Poll questions and responses should not be visible before the start date.
-
Persistence of Results
- The application must retain poll results and user votes even if restarted.
- All poll data, including votes and choices, must be saved in a database and persist across restarts.
-
Administration Features
- Administrators must be able to add new poll questions and choices.
- Administrators must be able to modify existing poll questions and choices.