hdir / strava-club

Web-scraping tool and presentation of club results on github pages. Summarized results for a period of time and counting tickets for competition prizes.
https://hdir.github.io/strava-club/vaar24
2 stars 0 forks source link
activity activitytracking strava

Helsedirektoratet Strava scraper

Script og actions for å hente resultater fra Helsedirektoratet sin stravaklubb og publisere dette som resultatlister i forbindelse med sykle til jobben aksjonen. Resultatene oppdateres fire ganger i døgnet (klokken kl 09, 11, 18 og 00) og ligger på websiden.

Arkitektur

arkitektur

Komponenter

Konfigurasjon

Konfigurasjon på tvers av python scriptene legges i config.ini

Strava club scraper

Databehandler

Tar den siste CSV-filen fra scraper og produserer en samlet resultatliste som json. Trigger Startes etter timeplan i samme workflow som skraperen, samme script som scraper.

Presentatør

Tar resultatlisten i json fra databehandler og presenterer resultatlistene på en pen måte som html filer. Trigger Startes etter timeplan i samme workflow som skraperen og databehandler, samme script som scraper.

Følgende lister genereres:

Resultatet legges på gh-pages branch for visning på github.io. Presentatør skriver ingen filer til disk. All prosessering i presentatør baserer seg utelukkende på data fra resultatlisten.

Presentatør har en egen innstilling for å generere resultatliste pr team. Data for å gjøre dette har vi foreløpig ikke og funksjonen er ikke testet, så innstillingen for skal inntil videre være avslått. Sett derfor alltid TEAMS_FEATURE til false i settings/config.ini.

Starte og slutt av kampanjeperiode

Instruksjoner for arrangører.

Kampanjestart

  1. Inviter til kampanjen i god tid, med instuksjoner om deltakelse, regler og premier.
  2. Se over den statiske informasjonsfilen docs/info.md og sjekk at den er oppdatert med rett informajon for kampanjen som skal startes.
  3. Sette start og stop uker for kampanjen i settings/config.ini og juster om nødvendig variabelen som gir viktig informasjon til deltakere.
  4. Flytte filer i datakatalog fra forrige aksjonsperiode til en backupdestinasjon, for eksempel data/kampanje_dato.
  5. Resultatfilen er som standard satt til data/result/results.json og opprettes automatisk ved første kjøring i kampanjeperioden.
  6. Aktiver workflow scriptet for produksjon. Dette skal på på timeplan som er definert i scriptet.

Kampanjeslutt

  1. Oppdater docs/info.md og variabelen i settings/config.ini med informasjon om at aksjonen er avsluttet. Gjør en siste deploy, slik at denne informasjonen kommer ut på gh-pages.
  2. Deaktiver workflow scriptet slik at det ikke kjører på timeplan. Dette må tidligst gjøres uken etter at aksjonen er avsluttet.