willemjan 47050bf031
CI/CD / test (push) Failing after 51s
CI/CD / sonarqube (push) Skipped
CI/CD / build-and-scan (push) Skipped
CI/CD / deploy (push) Skipped
Merge pull request 'Feature/insulin profile' (#37) from feature/insulin-profile into main
Reviewed-on: #37
2026-09-05 20:58:07 +00:00
2026-07-24 07:49:59 +02:00
2026-08-10 23:19:27 +02:00

glucose-dashboard

Dashboard van glucosedata, live opgehaald uit een Nightscout-instantie. Meerdere pagina's (zie zijbalk): een rollend live-overzicht en een set klinische rapportagepagina's (zie docs/requirements-reporting.md en docs/design-reporting.md).

Instellen

  1. Zorg voor een draaiende Nightscout-instantie en een API-token (Admin Tools

    Manage Tokens in Nightscout — geef het token minimaal readable-rechten) of het klassieke API secret.

  2. Kopieer .env.example naar .env en vul NIGHTSCOUT_URL, één van de twee auth-opties, en DASHBOARD_PASSWORD_HASH in (zie het voorbeeldbestand voor hoe je die hash genereert — de dashboard-URL wordt gedeeld met het diabetesteam, dus elke pagina zit achter een wachtwoord). app.py laadt .env zelf in (via python-dotenv), dus dit werkt hetzelfde onder PowerShell, cmd of bash — je hoeft de variabelen niet zelf in je shell te zetten. REPORT_INSULIN_TYPE/REPORT_PUMP_TYPE/REPORT_SENSOR_TYPE zijn optioneel en puur informatief (getoond in de kop van het PDF-rapport).

  3. Lokaal draaien:

    uv venv
    uv pip install -r requirements.txt --python .venv
    .venv\Scripts\streamlit run app.py
    
  4. Met Docker Compose:

    docker compose up -d
    

    docker-compose.yml leest .env via env_file — dat bestand wordt niet meegecommit (zie .gitignore).

Tests en lint

pytest tests/ -v
ruff check .

Coverage (zie pyproject.toml se [tool.coverage.*]): de CI-pipeline faalt als de dekking op de gemeten modules onder 80% zakt (app.py/pages/*.py zijn uitgesloten — dunne Streamlit-UI-scripts, niet zinvol te unit-testen zonder een draaiende Streamlit-sessie).

pytest tests/ --cov=. --cov-report=term-missing
S
Description
dashboard van glucose data
Readme
322 KiB
Languages
Python 99.8%
Dockerfile 0.2%