With the UK Government announcing a lockdown and banning all public gatherings, Mark Crosby and a number of his church communication contacts created a Google Doc as a central updatable place to signpost people to useful resources.
This was successful, often with large numbers of people on the document at the same time.
One of our team members was involved with improving the document with the Google Docs Enhancement Suite and Cloudflare, however the implementation was creaking.
The tools used provided:
- no idea of which resources were the most helpful
- no easy way of maintaining the current set of resources
- no easy way to have new resources submitted
- no ability to search
On top of this, the document was under so much load that warning signs were being displayed to all users that the Google Doc was under having heavy amounts of traffic.
So with the week ahead of us, we wondered 'how might we' make this more manageable, searchable and scalable.
As the week progressed, we realised we could generalise the work we were doing, and offer it out wider for others to use.
What it does
We have built an end-to-end solution that allows resources to be collected (via Google Forms), curated (via Google Sheets) and then published to an website site (Google Sheets API, triggering a build of 11ty on Netlify).
How we built it
With experience using 11ty as a static site generator, we first ensured we could get it running on Netlify. We then added some content to a dummy spreadsheet and worked with the Google Docs API to trigger deployment from the sheet.
With this in place, we introduced the link between Google Forms and the sheet. (For speed, the column names are hard-coded to the repo, although this could be further generalised.)
Once we had this working for the Church Handbook, we began work to make this generalisable, spinning up Forms, Sheets and Sites for:
Challenges we ran into
We had little dev-ops experience on our team which made some of the build and deployment errors more costly time-wise
We had initially envisioned being able to spin up sites in subfolders Grief, Joy, Isolation (alongside Church) on the same url (befruitful.in), but ran out of time to configure this in Netlify. We are assured it is possible, but went with the new url instead (covidresources.site).
Accomplishments that we're proud of
Making the tool generic and reusable by pulling out variables into a simple config file.
Getting to MVP quickly allowed us to add 'nice to haves' like search, grid view and anchor links.
What we learnt
We really saw some of our team members shine in this project, despite working with each other day-in and day-out.
What's next for Juniper Tree
Juniper Tree is completely usable. We'd love people to be using it and extending it further for their use cases.
Still on the backlog:
- flag links as broken/offensive
- resource tagging
- language/location filters
- make fields generic
- serve multiple sites on same domain from subfolders
Try It out
11ty, google-docs, google-spreadsheets, netlify