Workflow status | |
---|---|
deployment | |
acceptance | |
production | |
publication |
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.
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ě.
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
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ě.
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
create virtual environment
python3 -m venv venv
activate virtual environment
source venv/bin/activate
install requirements
pip install -r requirements.txt
setup config.py
according to the config.sample.py
template
setup Flask environment
export FLASK_ENV=development
execute database migrations
flask db upgrade
fetch data
flask fetch-data all
compute metrics
flask compute-metrics all
start Flask webserver
flask run
Old manual way, now it's done automatically using GitHub Actions.
activate venv
source venv/bin/activate
execute database migration if needed
flask db upgrade
fetch data
flask fetch-data all
restart or start webserver if needed
systemctl start ockovani-prd.service
publish website
bash tools/manual_publish.sh