msusicky / ockovani-covid

Repozitář pro projekt zobrazující statistiky očkování.
https://ockovani.opendatalab.cz
Apache License 2.0
62 stars 9 forks source link
covid19
Workflow status
deployment deploy-acceptance deploy-production check-disk-space
acceptance test
production update-data-daily update-data-hourly update-data-monthly clean-db
publication update-web update-web-offers post-tweet

COVID-19 data o očkování (https://ockovani.opendatalab.cz)

Za systémem stojí Jan Staněk (http://jstanek.cz/), Marek Sušický (marek(at)susicky.net) a přátele, kteří poskytli cenné připomínky.

Čtěte!

Tento web poskytuje data, která zobrazují statistiky jednotlivých očkovacích míst. Systém je komplikovaný a pro správná rozhodnutí je nezbytné si přečíst, jak funguje. Nezávazně doporučujeme sledovat, kolik je na daném místě registrovaných lidí, kteří mají a nemají termín, kolik je volných slotů na očkování a kolik vakcín přibližně dostává dané místo. Nedává smysl měnit často registraci, změnou registrace se dostáváte na poslední místo ve stejné věkové kategorii na novém místě.

Starý popis webu - před dostupností opendat od UZIS

Během marné snahy zajistit očkovací místa pro příbuzné jsme si všimli toho, že neexistuje žádný přehled volných míst. Ještě v lednu jsme začali tvořit aplikaci, ale narazili na neexistenci dat. Pak došly vakcíny a nedávalo smysl systém spouštět. Nyní je situace taková, že mnoho lidí čeká na vakcinaci, ale pokud nejsou na tom správném místě, budou čekat dál. Na jiných místech už ale lidé 80+ "došli". S naší mapou se lidé mohou přeregistrovat, dostat vakcinu rychleji a zefektivnit celý proces očkování. Prosím kohokoliv, kdo může přispět ke zveřejnění oficiálních dat o volných kapacitách a distribuci vakcín, aby tak učinil.

Web: https://ockovani.opendatalab.cz

Napsali o nás

Poznámky k fungování

Pro získávání dat využívala metody scrapingu. Nyní využíváme oficiálních dat od UZIS.

Aplikace se skládá z modulu fetcher, pak samotného webu a skriptu, který web stáhne a publikuje na github pages. Tento krok je realizován proto, že nechceme vystavovat veřejně aplikační server a chceme přenést zátěž na prostředky Githubu. Navíc jde o statické stránky, u kterých není problém obsloužit mnoho tisíc lidí současně.

How to run it [ENG]

Quick start with docker-compose

To start the server without fetching recent data use docker-compose up.

The development server (default flask one for the moment) will start at port 5000, you can access the deployment at http://localhost:5000/.

If you want to fetch recent data please set the FETCH_DATA environment variable:

FETCH_DATA=true docker-compose up

Installation without docker-compose

  1. create virtual environment

    python3 -m venv venv

  2. activate virtual environment

    source venv/bin/activate

  3. install requirements

    pip install -r requirements.txt

  4. setup config.py according to the config.sample.py template

  5. setup Flask environment

    export FLASK_ENV=development

  6. execute database migrations

    flask db upgrade

  7. fetch data

    flask fetch-data all

  8. compute metrics

    flask compute-metrics all

  9. start Flask webserver

    flask run

Update web

Old manual way, now it's done automatically using GitHub Actions.

  1. activate venv

    source venv/bin/activate

  2. execute database migration if needed

    flask db upgrade

  3. fetch data

    flask fetch-data all

  4. restart or start webserver if needed

    systemctl start ockovani-prd.service

  5. publish website

    bash tools/manual_publish.sh