Iteration 3 Plan - panitnt/ku-polls GitHub Wiki

Goal

Add user authentication and allow each user only 1 vote per poll and user authentication is done using username and password.

Features to implement

  1. To vote, users must first log in.
  2. Unauthenticated users are unable to vote, and the poll detail page includes a link to the login page.
  3. Each user can only cast one vote per poll question.
  4. While a poll is open, users can change their previous vote.
  5. Give instructions on how to install and run the application.
  6. Provide poll sample data and instructions on how to import it.

Milestone

  • Users can sign in and out.
  • Users who are logged in can vote, but they are limited to one vote per poll. A user may change his or her vote in a poll.

Acceptance Criteria

  1. The visitor has the ability to login and logout.
  2. Only an authenticated user may vote.
  3. Anyone can view the poll list and poll results (same as before)
  4. During the voting period, a user can change his/her vote on a poll, and his/her new vote replaces his/her old vote.
  5. If a user selects a poll in which they have already voted, the list of options shows which option they have chosen.
  6. Add a login/logout link to the polls index page.