Iteration 4 Plan - Phantawat/ku-polls GitHub Wiki

Goals

The objective of this iteration is to produce a good quality app that others can install and run.

Milestones

  • Display all published polls, sorted from newest to oldest.
  • Automate testing using GitHub Actions.
  • Review and clean up poll questions and choices.
  • Create data fixtures for Questions, Choices, Votes, and Users.
  • Generate a release candidate and request peer reviews.
  • Resolve peer-reviewed issues and prepare a final release.

Features

  • The app will display all published polls, sorted by date from newest to oldest.
  • GitHub Actions will automate unit testing with Python 3.11, using environment variables for testing.
  • Poll questions and choices will be reviewed for clarity and sufficiency.
  • The README.md will be updated with installation details, and an Installation.md file will guide setup.
  • Code quality will be ensured using flake8, with exceptions for certain files and line lengths.
  • Data fixtures will be created for polls, votes, and users, and can be loaded individually or together.
  • A release candidate will be tagged and peer-reviewed before final deployment.
  • All issues will be resolved, and the final release (v1.0.0) will be tagged and published.

Acceptance Criteria

  • All published polls are displayed in order of publication date.
  • Sorting is functional and correct from newest to oldest.
  • GitHub Action successfully runs unit tests after every push.
  • Status badge appears in README.md and displays the current status of the tests.
  • README.md includes a description of the app, installation instructions, demo users, and a clear structure.
  • Installation instructions are tested, clear, and complete.
  • The app can be installed with clean polls, users, and votes using the provided fixture files.
  • A v1.0.0 tag and release are created after all peer review issues are resolved, with a detailed release description and issue reporting information.