0%

Eindproject: een uitleenprogramma dat gegevens bewaart

Download je project en voer het lokaal uit

Je programma en negen tests horen nu thuis in een project met alleen bronbestanden dat je buiten deze werkruimte kunt uitvoeren. Maak README.md af vóór het downloaden, zodat de opdrachten meegaan met de code. Er moet in staan dat Python 3.10 of nieuwer vereist is. requirements-dev.txt bevat al de exacte testafhankelijkheid, pytest==9.1.1; de applicatie zelf gebruikt alleen de standaardbibliotheek van Python.

Gebruik terwijl je bent ingelogd de actie Download van de werkruimte en pak de ZIP uit in een nieuwe map. De zelf geschreven projectstructuur bevat precies tien bestanden:

lending.py
catalog_db.py
catalog_setup.py
catalog_import.py
demo.py
data/items.csv
tests/test_catalog.py
tests/test_lending.py
requirements-dev.txt
README.md

De ZIP bevat ook de gegenereerde PYTHONLAND_README.md, waarmee het totaal op elf bestanden komt. Er mag geen database, .venv, __pycache__, .pytest_cache of ander gegenereerd bestand in zitten. Houd catalog data.db lokaal; maak het pas na het uitpakken aan via init.

Zet op macOS deze opdrachten, waarvoor geen activering nodig is, in README.md:

python3 -m venv .venv
.venv/bin/python -m pip install -r requirements-dev.txt
.venv/bin/python lending.py init "catalog data.db"
.venv/bin/python lending.py import-items "catalog data.db" data/items.csv
.venv/bin/python lending.py available "catalog data.db"
.venv/bin/python -m pytest -q -p no:cacheprovider

Op Linux zijn de opdrachten hetzelfde:

python3 -m venv .venv
.venv/bin/python -m pip install -r requirements-dev.txt
.venv/bin/python lending.py init "catalog data.db"
.venv/bin/python lending.py import-items "catalog data.db" data/items.csv
.venv/bin/python lending.py available "catalog data.db"
.venv/bin/python -m pytest -q -p no:cacheprovider

Gebruik op Windows PowerShell het bijbehorende interpreterpad:

py -m venv .venv
.venv\Scripts\python.exe -m pip install -r requirements-dev.txt
.venv\Scripts\python.exe lending.py init "catalog data.db"
.venv\Scripts\python.exe lending.py import-items "catalog data.db" data\items.csv
.venv\Scripts\python.exe lending.py available "catalog data.db"
.venv\Scripts\python.exe -m pytest -q -p no:cacheprovider

Elke regel met lending.py start een afzonderlijk proces, dus bewijst available dat de gegevens die eerdere opdrachten hebben aangemaakt opnieuw kunnen worden geopend. Voer de negen tests twee keer uit vanuit een vers uitgepakte map en probeer daarna registreren, uitlenen, activity, terugbrengen en nogmaals activity als afzonderlijke aanroepen. Deze pagina kan je computer niet bekijken of een download bevestigen; het lokale resultaat inspecteer je zelf.