Iteration 2 Plan - panitnt/ku-polls GitHub Wiki
Goal
This iteration's goal 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 rather than directly testing attributes. Another goal is to externalize configuration data for increased security and portability.
Features to implement
- This poll has an end date. If end date, vote are not allowed.
- In question has methods for is_published and can_vote with unit tests.
- Users can return to poll list page from any page or view results without voting.
- Users can go to poll results page from the polls index directly.
- If users enter URL of a poll not yet published, then redirect him to polls list page.
- Separate sensitive configuration data from code.
- Automate running go unit tests.
- Add code coverage to measure how well unit tests cover our code.
- Improve formatting of poll detail and poll results page. Layout things in columns.
Milestone
- The poll's end date is enforced.
- From any page, the user can easily return to the polls list. It is not necessary to use the browser's "Back" button.
- If a URL for an unpublished poll is entered, the user is taken to the polls list page.
Acceptance Criteria
- Question has end_date attribute ,has is_published and can_vote methods.
- Writing all unittest that can run pass all.
- Redirect to the polls index page and show an error message on the page when voting is not allowed.
- Redirect base URL to http://localhost:port/polls/.
- Users can visit results without voting.
- Add Back to List of Polls in detail and results page.
- Create .env file that have externalize configuration data.