Files
055-higher-lower/docs/milestones/mil-003-higher-lower-game.md

2.7 KiB

MIL-003 Higher or Lower Game

Metadata

Key Value
ID MIL-003
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 final project, the Higher or Lower game as a website, meets the assignment.

Deliverable

A Flask application (server.py entry point, as the assignment names it, delegating to the package) with the home route, the guess route, a game module that holds the logic and tests that cover every answer path.

Go / No-Go Criteria

# Criterion (objectively checkable) Go No-Go
1 / shows an <h1> "Guess a number between 0 and 9" and a GIF Yes No
2 /<int:guess> answers too low, too high or correct, each with a different heading colour and GIF Yes No
3 The secret number is random in the range from constants.py and fixed for the process Yes No
4 Tests cover low, high, correct, home and a number outside the range Yes No
5 python server.py starts the app as the README says Yes No

Dependencies

Depends on Reason
MIL-002 Reuses the HTML rendering step and the app layout

Traceability

Business Case objective / KPI / user story Reference
Objectives 1, 2 and 4 BC-001

Ownership

Role Stakeholder ID (SA)
Owner S01
Approving reviewer S01

Target Date

2026-11-12 — follows MIL-002 within the Business Case's few-day effort.

Tasks

# Task Summary Needs its own Use Case/User Story? Reference
1 Implement game logic Write a pure function that compares a guess with the secret number and returns low, high or correct, so the rule can be tested without Flask. No
2 Implement home and guess routes Build the Flask app factory and the routes / and /<int:guess> that render the headings, colours and GIFs from constants.py. No
3 Add server.py entry point Add server.py at the project root, the file name the assignment asks for, that starts the app. No
4 Test the game with pytest Test the logic and routes with a fixed secret number, covering low, high, correct, home and out-of-range input. No