Iteration 2 Plan - Phantawat/ku-polls GitHub Wiki

Goal

  • Add an end date to polls, improve navigation and page layout, externalize data for security, and automate running tests.

Milestone

  • Milestone 1: Implement the end_date attribute in the Question model and update the database schema.
  • Milestone 2: Improve navigation between pages by adding links and redirects.
  • Milestone 3: Externalize configuration data and automate tests.

Features

  • Add end_date attribute to the Question model, with a default pub_date.
  • Implement is_published and can_vote methods in the Question model.
  • Improve navigation with links and redirects.
  • Externalize configuration settings using python-decouple.
  • Write and automate unit tests for is_published and can_vote.
  • Update views to use the new methods.

Acceptance Criteria

  • The app should handle polls with an end date, preventing voting after the end date.
  • Navigation should be intuitive, with added links and improved redirects.
  • Configuration data should be externalized, with defaults provided.
  • Unit tests for is_published and can_vote should pass.
  • All changes should be documented, and the code should adhere to best practices.