3 Commits
Author SHA1 Message Date
Tirsvad 6f1fb7189d Merge pull request 'Milestone 4: Documentation' (#16) from milestone/04-docs into main
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Successful in 5s
Reviewed-on: #16
2026-10-04 08:22:38 +02:00
Tirsvad 6a8ab289c6 docs: complete documentation for Milestone 4
- Rewrite README.md with overview, requirements, setup, run, tests
  sections
- Add docs/flowchart.md with Mermaid diagram and link to diagrams.net
  source
- Update docs/plan.md to mark Milestone 4 as complete
2026-10-04 14:21:31 +08:00
Tirsvad 8d13657773 docs: complete documentation for Milestone 4
- Rewrite README.md with overview, requirements, setup, run, tests
  sections
- Add docs/flowchart.md with Mermaid diagram and link to diagrams.net
  source
- Update docs/plan.md to mark Milestone 4 as complete
2026-10-04 14:21:13 +08:00
5 changed files with 114 additions and 5 deletions
+94 -2
View File
@@ -1,2 +1,94 @@
# 009-the_secret_auction_program
# 🚀 Secret Auction Program
A beginner-friendly Python program that runs a blind auction: bidders enter their name and bid one after another, the screen is cleared between bidders, and the highest bidder wins.
## 📚 Table of Contents
- [Overview](#-overview)
- [Requirements](#-requirements)
- [Setup](#-setup)
- [Run](#-run)
- [Tests](#-tests)
- [License](#-license)
- [Links](#-links)
## 🧭 Overview
This is the Day 9 project of Udemy's *100 Days of Code: The Complete Python Pro Bootcamp*. Each bidder enters a name and a bid, which are stored in a dictionary (name → bid). After each bidder the program asks whether there are more bidders and, if so, clears the screen so the next bidder cannot see earlier bids. When everyone has bid, the program announces the winner.
See the [program flowchart](docs/flowchart.md) and the [plan and milestones](docs/plan.md).
### 🖼️ Screenshots
Entering a bid:
![Entering a bid](docs/images/bidding.png)
Announcing the winner:
![Announcing the winner](docs/images/winner.png)
## 📋 Requirements
- Python 3.13 or newer
- No runtime dependencies
- `pytest` for the tests (installed by the `dev` extra)
- [Doxygen](https://www.doxygen.nl/) (optional, to generate the API documentation)
## 🛠️ Setup
Create and activate a local virtual environment, upgrade pip, then install the project with its development tools.
Windows (PowerShell):
```powershell
python -m venv .venv
.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install -e ".[dev]"
```
Linux / macOS:
```bash
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e ".[dev]"
```
## ▶️ Run
With the virtual environment active:
```bash
python -m secret_auction.main
```
or use the installed command:
```bash
secret-auction
```
## 🧪 Tests
```bash
python -m pytest
```
To generate the API documentation (output in `docs/doxygen/`):
```bash
doxygen Doxyfile
```
## 📄 License
Licensed under the GNU Affero General Public License v3.0 — see [LICENSE](LICENSE).
## 🔗 Links
- [Repository](https://git.tirsystem.com/Tirsvad-Udemy-100_days_of_code/009-the_secret_auction_program)
- [Documentation](docs/)
- [Issue tracker](https://git.tirsystem.com/Tirsvad-Udemy-100_days_of_code/009-the_secret_auction_program/issues)
+17
View File
@@ -0,0 +1,17 @@
# Blind Auction Flowchart
Original chart: [diagrams.net](https://viewer.diagrams.net/?highlight=0000ff&edit=_blank&layers=1&nav=1&title=Blind%20Auction%20Flow%20Chart)
```mermaid
flowchart TD
A([Start]) --> B[Print welcome message]
B --> C[bids = empty dictionary]
C --> D[/Ask name/]
D --> E[/Ask bid, repeat until valid/]
E --> F[Store bids name = bid]
F --> G{Other bidders?}
G -- yes --> H[Clear screen] --> D
G -- no --> I[Find highest bid]
I --> J[/Print winner/]
J --> K([End])
```
Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

+3 -3
View File
@@ -34,7 +34,7 @@ Work on ONE milestone at a time. Each milestone is one branch (`milestone/NN-nam
## Milestone 4 - Documentation (`milestone/04-docs`)
- [ ] `README.md` from the template (Overview, Requirements, Setup incl. creating/activating `.venv` and `python -m pip install --upgrade pip`, Run, Tests, License AGPL, Links)
- [ ] `docs/flowchart.md` (Mermaid plus link to the diagrams.net chart)
- [ ] Generate Doxygen docs if `doxygen` is installed
- [x] `README.md` from the template (Overview, Requirements, Setup incl. creating/activating `.venv` and `python -m pip install --upgrade pip`, Run, Tests, License AGPL, Links)
- [x] `docs/flowchart.md` (Mermaid plus link to the diagrams.net chart)
- [x] Generate Doxygen docs if `doxygen` is installed
- Verify: README commands work verbatim; `.env` stays untracked