Iteration 1 Plan - breezjirasak/ku-polls GitHub Wiki

Goal

A working web app that displays poll questions, allows a visitor to select a poll question and choose from a list of responses. Application correctly displays the number of "votes" for each choice in the selected poll question. Results persist across restarts of the application.

Features

  1. Display a page showing a list of current poll questions.
  2. Each poll question has a publication date (starting date) and the question is not shown before the starting date.
  3. Each poll question has a link to a page displaying the question and a list of choices. A visitor can select a choice and press a button to submit a vote. His vote is recorded.
  4. After voting, a visitor can see the total votes for each choice on a poll question.
  5. Poll questions and choices are saved to a database.
  6. Poll questions are created using the admin interface (no custom interface yet).

Tasks

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

  1. Create a task board on Github for this iteration, and enter tasks.
  2. Create a polls application with Question and Choice model classes (Tutorial part 2).
  3. Design the UI and navigation.
    • home page (index) displays a list of poll questions with links to each question
    • question detail page displays poll question and list of choices with a way of selecting a choice
    • results page displays vote totals for a particular question, with navigation links
  4. Implement the view for home page and start of question detail page (Tutorial part 3)
  5. Implement a web form for question detail page, and back-end to handle the form submission and record a vote (Tutorial part 4)
  6. Write Unit Tests (Tutorial part 5)
    • test that question is not displayed before starting date (pub_date)
    • test that question is displayed after the pub_date
    • test that index page displays correctly even if no poll questions available
    • test that "votes" are counted correctly - this is not in the tutorial
  7. Add CSS styling (Tutorial part 6)
  8. Add at least 2 interesting questions to the application, and delete the stupid "What's up?" question.
    • No trivial or boring questions like "What's your favorite color?", "What is today?".

Evaluation Criteria

  1. Application runs, displays list of current poll questions.
  2. User can select a poll question, see a list of choices, select a choice, and submit his choice. His selection is added to the "vote" count for the selected choice.
  3. After user submits his choice, application shows vote totals for each answer to a question.
  4. Application passes all unit tests.
  5. All navigation links work correctly.
  6. Application has some CSS styling and text is easy to read.
  7. Application has at least 2 interesting questions. No dumb questions like "What's up?", "How do you feel?".
  8. All code committed to Github on iteration1 branch and merged into master.

Retrospective Summary

In this iteration I create a server and create a polls then create a model for the polls and make some questions to test the polls that can vote or not and customize the webpage. So, In this part make me know how to create polls in Django and make me know how to use basic Django, HTML, CSS.