Files
Tirsvad 942c5af8f1
TirSystem/git-workflows: Publish wiki / publish-wiki (push) Skipped
TirSystem/git-workflows: Sync GitHub mirror metadata / sync-metadata (push) Skipped
TirSystem/git-workflows: Publish accepted milestones / publish (push) Skipped
TirSystem/git-workflows: OpenGrep / opengrep (push) Skipped
TirSystem/git-workflows: Validate / validate (push) Skipped
TirSystem/git-workflows: Validate / validate (pull_request) Successful in 38s
TirSystem/git-workflows: Release / release (pull_request) Successful in 22s
TirSystem/git-workflows: OpenGrep / opengrep (pull_request) Failing after 5m17s
Resolve pending commit links
2026-11-06 12:58:01 +08:00

5.9 KiB

Project Plan: Flask Backend Basics

Metadata

Key Value
ID PP-001
CrossReference BC-001, SA-001, MIL-001, MIL-002, MIL-003, MIL-004, MIL-005
Language en
Domain it

Version History

Date Status Author Reviewer Change Commit
2026-11-06 Deprecated Jens Tirsvad Nielsen S01 Initial version 73a5a95
2026-11-06 Accepted Jens Tirsvad Nielsen S01 Link each gateway to its synced Gitea milestone 8cd73cc

Purpose

Schedule the five gateways that turn the Day 54 lectures into a tested, documented repository, within the Business Case constraint of one branch and pull request per milestone.

Planning Assumptions

  • Work starts 2026-11-06 and ends by 2026-11-10; one gateway per day or less.
  • Each gateway is one branch and one pull request that closes its issues (SA-001 CM-001).
  • The reviewer for every gateway is S01; in autonomous mode the AI acts as stand-in for S01 and records Mode: autonomous, not independent.
  • PO language is English, domain IT; the wiki exists in English, Danish and Bahasa Malaysia.
  • Sources: the dates and the one-pull-request-per-milestone rule come from the Product Owner's brief and BC-001 Constraints; the review cadence follows SA-001 CM-001.

Gateway Schedule

Gateway Document Window Decision date Owner Stories Main deliverable Milestone
Foundation MIL-001 2026-11-06 2026-11-06 S01 none (technical tasks) pyproject, gitignore, constants, Doxyfile, README, repo metadata Milestone 001
Backend and Hello Flask MIL-002 2026-11-06 to 2026-11-07 2026-11-07 S01 none (technical tasks) hello.py, tests, screenshots 1 and 2 Milestone 002
Command line and main MIL-003 2026-11-07 to 2026-11-08 2026-11-08 S01 none (technical tasks) main guard, name_demo, cli_basics, screenshots 3 and 4 Milestone 003
Functions and decorators MIL-004 2026-11-08 to 2026-11-09 2026-11-09 S01 none (technical tasks) first_class_functions, decorators, screenshots 5 and 6 Milestone 004
Docs and wiki MIL-005 2026-11-09 to 2026-11-10 2026-11-10 S01 none (technical tasks) three-language wiki, Doxygen, code review Milestone 005
@startgantt
Project starts 2026-11-06
[Foundation] starts 2026-11-06 and ends 2026-11-06
[Foundation Go/No-Go] happens 2026-11-06
[Backend and Hello Flask] starts 2026-11-06 and ends 2026-11-07
[Backend Go/No-Go] happens 2026-11-07
[Command line and main] starts 2026-11-07 and ends 2026-11-08
[CLI Go/No-Go] happens 2026-11-08
[Functions and decorators] starts 2026-11-08 and ends 2026-11-09
[Functions Go/No-Go] happens 2026-11-09
[Docs and wiki] starts 2026-11-09 and ends 2026-11-10
[Docs Go/No-Go] happens 2026-11-10
@endgantt

Scope Coverage

Business Case scope item Gateway
Python source under src/, tests under tests/, documents under docs/ MIL-001 to MIL-004
pyproject.toml, constants.py, .gitignore, Doxyfile, Doxygen comments MIL-001, MIL-005
README with .venv, run and test instructions MIL-001 to MIL-004
Wiki in en, da, ms with screenshots MIL-005
Repository description and topics MIL-001

Dependencies

MIL-001 -> MIL-002 -> MIL-003 -> MIL-004 -> MIL-005

A No-Go on a gateway moves every later gateway by the time needed to fix and re-review it. S01 decides whether the end date 2026-11-10 moves; the Business Case sets no fixed deadline, so a move needs only a new Version History row of this plan.

Plan Risks

Risk Impact Mitigation
Headless screenshot tooling is not available (BC-001 risk 1) Screenshots delayed Use Edge or Chrome headless on the host (no user input is taken); otherwise a container
Gitea API token lacks scope for topics or wiki (BC-001 risk 3 context) Metadata or wiki not published Stop and report; the author sets it by hand
Repository URL in the brief differs from origin Work lands in the wrong repository Work against origin; record the difference under Open Issues

Open Issues

  • The brief names https://git.tirsystem.com/Tirsvad-Udemy-100_days_of_code; origin is Tirsvad-Udemy-100-days-of-code/054-flask. The plan uses origin. Confirm if the other is meant.
  • "Python greater than 3.13" is read as >=3.13 (the installed interpreter is 3.13).
  • S03 asks for no runtime dependencies while Flask is required by the assignment; resolved by making Flask the optional extra web (SA-001 conflict table).
  • The lecture text mentions the calculate function and a greeting decorator only in prose; names and exact behaviour follow that prose.