Iteration 2 Plan - breezjirasak/ku-polls GitHub Wiki

Goal

The objective of this iteration is to improve the navigation and page layout, add an end date for a poll, and add some useful methods so that views can query a poll using methods instead of testing attributes directly.

Another objective is to externalize configuration data for security and portability.

Features

  1. The polls question can specify end date if there is no end date the polls can vote anytime.
  2. It can see that the vote is available or the polls is published or not.
  3. Raising an error if vote is not allowed.
  4. If someone goes to the base URL of the web site. The visitor’s browser should show the actual polls URL
  5. The visitors can view results without voting.
  6. The visitors can go back to list of polls without voting also on the result page.
  7. The visitors has only one vote per question.

Tasks

All tasks should be recorded on Project Board for Iteration 2.

  1. In the Question class, add an end_date attribute that is the ending date for voting and add two methods is_published and can_vote.
  2. Create unit tests for is_published and can_vote.
  3. Use the “Django Messages Framework” to pass and show the error message.
  4. If someone goes to the base URL of the web site, such as http://localhost:port/, redirect them to the polls index page.
  5. Allow visitor to view results without voting.
  6. Improve navigation between pages.
  7. Improve the appearance of voting results page.
  8. Externalize configuration data.
  9. Add correctly-formatted docstring comments to the models and views.
  10. Rerun unit tests from Iteration 1.

Evaluation Criteria

  1. The visitors are not allow to vote after end date.
  2. Have a good navigation between pages.
  3. Have a good appearance of voting results page.
  4. The visitors can see the result anytime.
  5. All unit test should be pass.
  6. Using the coding standard and writing documentation

Retrospective Summary

In this iterations, I create many feature following by tasks and make the page is more interested. All of this tasks make me more understandable about Django, HTML and also know about Django Messages Frame work.