Iteration 3 plan - KhunakornP/ku-polls GitHub Wiki

Iteration 3 plans

Goals

For the third iteration of ku-polls, the goal of the iteration aims to implement a user authentication feature in order to track user votes for poll questions. Add logging to track what users are doing and any errors that may occur during deployment and add links for logging in and out as well as user registration.

Milestones

  1. A user system is created. Polls function normally and users may only have one vote per poll.
    The vote can be changed so long as the poll is open.
  2. A working logging feature that shows user actions as well as the time and level of the log
  3. The main index page has better formatting and looks better

Features

  1. Users can login and logout.
  2. Users can only vote once per poll. Their choice is saved when the user returns to the poll's detail.
  3. Users can change their vote for any poll, so long as the poll is not closed.
  4. When a user logs in or out, vote or tries to access an invalid page a log appears in the logging file.
  5. Visitors can create an account to become a user and gain the ability to vote on polls.
  6. Poll results can be viewed by anyone even if they are not authenticated.
  7. Messages are displayed when a user submits a vote such as "Your vote {poll choice} for {poll name} has been recorded"

Acceptance criteria

  1. Users can login and logout as well and visitors can create an account.
  2. Logging for user actions are readable and well documented.
  3. The index page uses a container to display it's contents (compared to the previous iteration)
  4. The HTML templates are cleaned up as much as possible.
  5. Unit tests are created for new methods and logging.
  6. When a user accesses a poll their choice is saved and the user can change their choice