Website for Hackerspace Gent (0x20), a community space for hackers, makers, and tinkerers in Ghent, Belgium.

Markdown-Based Event System
We needed a way to organize events at the hackerspace. Using Google Calendar or Outlook wasn't an option - half the members are on a crusade against big tech.
The criteria for the new system:
- Every member should be able to add, edit, and delete events
- Events should be customizable with images and rich content
- Still offer a Google Calendar for those who want them
The solution: since every member has a GitHub account anyway, events are just markdown files. Create a .md file in the /events/ folder, submit a PR, and the website picks it up automatically.
CI/CD (GitHub Actions)
Two GitHub Actions power the site.
Deployment
On push to main, SSH into the VM, pull the latest code, and rebuild the Docker container. Changes are live within seconds.
Google Calendar sync
When event markdown files change, the action parses them, and updates the Google Calendar events using the googleapis Node.js library.
Node.js + Express
The backend is built with Node.js and Express, using Pug as the templating engine. Simple, fast, and easy for other hackerspace members to contribute to.
Azure Deployment
Hosted on Azure App Service. The hackerspace has Azure credits through various sponsorships, so hosting is essentially free.