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
- The polls question can specify end date if there is no end date the polls can vote anytime.
- It can see that the vote is available or the polls is published or not.
- Raising an error if vote is not allowed.
- If someone goes to the base URL of the web site. The visitor’s browser should show the actual polls URL
- The visitors can view results without voting.
- The visitors can go back to list of polls without voting also on the result page.
- The visitors has only one vote per question.
Tasks
All tasks should be recorded on Project Board for Iteration 2.
- In the Question class, add an
end_date
attribute that is the ending date for voting and add two methodsis_published
andcan_vote
. - Create unit tests for
is_published
andcan_vote
. - Use the “Django Messages Framework” to pass and show the error message.
- If someone goes to the base URL of the web site, such as
http://localhost:port/
, redirect them to the polls index page. - Allow visitor to view results without voting.
- Improve navigation between pages.
- Improve the appearance of voting results page.
- Externalize configuration data.
- Add correctly-formatted docstring comments to the models and views.
- Rerun unit tests from Iteration 1.
Evaluation Criteria
- The visitors are not allow to vote after end date.
- Have a good navigation between pages.
- Have a good appearance of voting results page.
- The visitors can see the result anytime.
- All unit test should be pass.
- 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.