Series: VaccinateCA internal blog
I maintained an internal blog between February and April 2021 during my time at VaccinateCA / Vaccinate The States.
Getting started
Here we go then... I’ve signed up to work on this project full-time, four days a week!
[... 609 words]Spinning up a new Django app to act as a backend for VaccinateCA
My goal by the end of this week is to have a working proof of concept for a Django + PostgreSQL app that can replace Airtable as the principle backend for the https://www.vaccinateca.com/ site. This proof of concept will allow us to make a go or no-go decision and figure out what else needs to be implemented before we can start using it to track calls.
[... 762 words]Importing data from Airtable into Django, plus a search engine for all our code
I made a bunch of progress on the Django backend prototype-that-soon-won’t-be-a-prototype today.
[... 935 words]Django admin customization, JSON in our PostgreSQL
My progress slowed a bit today as I started digging into some things I’m less familiar with—but I’ve found some tricks that I think will help us out a lot.
[... 1,089 words]Drawing the rest of the owl
My ambitious goal for the day was to get the new Django/PostgreSQL preview into a state where we could start sending example API requests to it from the help.vaccinate
app.
API ready for testing, first video status update
To celebrate GitHub’s new support for drag-and-dropping mp4 files into Markdown, I decided to switch things around a little and include a video update with today’s blog entry.
[... 656 words]Replaying logs to exercise the new API
22 days ago n1mmy pushed a change to help.vaccinate
which logged full details of inoming Netlify function API traffic to an Airtable database.
The simplest possible call queue
Today I’ve been working on the queue calling mechanism for the new Django backend.
[... 471 words]New call queue ready to test. Also geography.
I just shipped the first working preview version of the new /api/requestCall
API [#54]—the API that our caller app uses to get the next location that the caller should be contacting (and lock it so that other users don’t call it at the same time).
APIs for importing locations
An important aspect of the new backend is the ability to import new locations.
[... 254 words]VIAL is now live, plus django-sql-dashboard
Our new Django backend has now officially graduated from preview mode! We’ve been running it to collect caller reports for Oregon for over a week now, and today we finally turned off the old Heroku app and promoted https://vial.calltheshots.us/ to be the place that our caller app writes to.
[... 672 words]The Airtable formulas at the heart of everything
While working on building a Counties.json API endpoint for VIAL I realized I wasn’t entirely sure how the “Total reports” and “Yeses” numbers in this piece of JSON were calculated:
[... 323 words]VIAL: Preparing for some collaborative testing
With the Airtable limits fast approaching, I’m going to start leaning heavily on people to help verify that VIAL can do the jobs that it needs to do.
[... 465 words]A CSV export, JSON import workflow for bulk updating our data
I just added missing counties to around 1200 of our locations using a combination of tricks, and I thought they’d make a good blog post.
[... 1,429 words]