Jacques Andre

Software Engineering Student

scotlandcovidstats.com

Posted at — Apr 16, 2021

Recently I have revisited one of my projects, scotlandcovidstats.com. I wanted to make it more appealing, use better technologies and overall easier to maintain.

The stack

I love using Python, its ease of use and syntax make it easy to get up and going. I had dabbled in using Flask here and there but with this project I had found a true reason to delve in. Rather than using something like Django, Flask is a lot more minimal and easier to setup, better suited to my project.

I had only briefly used React.js before this project, after the initial learning curve I am finding it pleasant to use, create-react-app is particularly helpful.

Flask & React are the two technologies that power the site. I am also using react-chartjs-2 to render any chart data.

Development

Our World In Data, has a Github repository that is frequently updated with the latest vaccine data. The data is in csv format which is then parsed by the backend Python API. Similarly, data.gov.uk also has a endpoint for cases data, again this comes back as a csv file, parsed by my Python API.

Once I have properly parsed the data, I create endpoints for common statistics:

/api/cases_last_updated
/api/vaccinations_last_updated
etc...

The frontend react app then queries these endpoints, displaying data to the user.