Project Plan - Thanawas-Sirilertsathit/ku-polls GitHub Wiki
KU Polls Project Plan
Author : Thanawas Sirilertsathit
Revised : 20 Aug 2024
Statement of Work
The project will produce a web application for conducting polls and surveys that satisfies Requirements. The application will be written in Python and can be run on Window, Linux and MacOS that contains required software.
Development Process
Each iteration starts from Monday and ends in Sunday which has length of one week. Development Process has total 4 iterations.
Project Documents
Project documents and technical documents are stored in the project wiki on Github.
Project documents include:
- Project Plan
- Iteration plan for each iteration
- Vision and Scope statement
- Requirements
- Summary of Retrospective
- Software design documents
Workflow
- At the beginning of each iteration, the Vision, Project Plan, and Requirements are reviewed and updated.
- A goal for the iteration and at least 1 milestone are defined and written in the Iteration Plan.
- Major work for the iteration is defined and recorded in the Iteration Plan.
- The Iteration Plan, including the goal, milestone, and major work, is added to the wiki.
- Tasks are defined and written in the Project Backlog on Github.
- A Github Task Board for this iteration is created to track work in this iteration.
- Github Flow is used to manage code.
Technology and Tools
- Github Wiki for project documents
- Github Project for tracking backlog and tasks
- Visual Studio Code
Timeline
Week | Major work and Features |
---|---|
1 | Iteration 1 |
2 | Iteration 2 |
3 | Iteration 3 |
4 | Iteration 4 |
Milestones
Iteration | Milestones |
---|---|
1 | Application has a main page to display active poll questions |
User can vote in the poll | |
Admin can create choices and questions for poll | |
2 | Question has end date |
Apply python-decouple to prevent user from sensitive data | |
Has navigation system for all pages | |
Complete decoration | |
3 | 1 User 1 vote per question |
Visitor can login and signup | |
User can logout | |
Display previous choice that user selected | |
4 | User can cancel his own vote |
Display all available polls in the index page | |
Pass django test in github workflow | |
Pass flake8 test in github workflow | |
Release the release candidate 1 | |
Release the final release v1.0.0 |