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.
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.
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.