Files

3.3 KiB

MIL-001 Project Setup

Metadata

Key Value
ID MIL-001
CrossReference BC-001
Language en
Domain it

Version History

Date Status Author Reviewer Change Commit
2026-11-06 Accepted Jens Tirsvad Nielsen AI as stand-in for S01 Initial version 42b3a09

Purpose

Decide whether the project skeleton is sound enough to build the lecture steps on: tooling, configuration, folder layout and repository metadata.

Deliverable

A Python project with pyproject.toml, a Python .gitignore, src/ and tests/ folders, constants.py, a Doxyfile, a README from the framework template that explains the local .venv and the test run, and a repository description and topics on the git host.

Go / No-Go Criteria

# Criterion (objectively checkable) Go No-Go
1 pyproject.toml requires Python 3.13 or later and lists Flask as the only runtime dependency Yes No
2 python -m pytest runs in a fresh .venv and exits with 0 Yes No
3 .gitignore ignores .venv, caches and .env Yes No
4 The README states how to create and use .venv and runs python -m pip install --upgrade pip Yes No
5 The repository has a description and topics on the git host Yes No

Dependencies

Depends on Reason
BC-001, SA-001, PP-001 The baseline must be accepted before code

Traceability

Business Case objective / KPI / user story Reference
Objectives 5 and 7 BC-001

Ownership

Role Stakeholder ID (SA)
Owner S01
Approving reviewer S01

Target Date

2026-11-08 — inside the few-day effort stated in the Business Case.

Tasks

# Task Summary Needs its own Use Case/User Story? Reference
1 Add pyproject.toml and project layout Create pyproject.toml (Python 3.13 or later, Flask as the only runtime dependency, pytest as a test extra), the src/higher_lower/ package and tests/ folder with a smoke test, so python -m pytest runs. No
2 Add constants.py Create src/higher_lower/constants.py holding the heading text, colours, GIF URLs and the number range, so no literal is repeated in the code. No
3 Add Python .gitignore Add a Python .gitignore that also ignores .venv, caches, .env and generated Doxygen output, so no secret or build output is committed. No
4 Add Doxyfile Add a Doxyfile configured for the Python sources and Doxygen comment style, so API documentation can be generated. No
5 Write README with venv and test instructions Fill the framework README template: purpose, how to create and use .venv, upgrade pip, install, run, test. Lecture screenshots are added by MIL-004. No
6 Set repository description and topics Set a description and topics on the git host repository through its API, reading the token from .env without importing .env into the project. No