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

  1. Application displays a list of active polls and allows voting on each poll.
  2. The application displays the total number of "votes" for each choice in a poll. The outcomes are persistent across restarts.

Features

  1. Display a list of the most recent poll questions.
  2. Each poll question is linked to a page that displays the question and a list of choices.
  3. Visitor can choose a poll question and vote on it. His/her vote is counted toward the total.
  4. Visitor can see the total votes for each choice on a poll question after voting.
  5. Every poll has a publication date (start date) and is only visible on or after that date.
  6. The poll questions and responses are saved in a database.
  7. The administrator has the ability to add or modify poll questions and choices.

Acceptance Criteria

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. Administration Features

    • Administrators must be able to add new poll questions and choices.
    • Administrators must be able to modify existing poll questions and choices.