Matthew
Jan 30 3:07 PM
network_wifi battery_5_bar
folder_open ~/projects/cityguide-events
celebration

CityGuide.events

A production-grade event discovery platform with multi-tenant architecture, automated secrets management, and comprehensive observability.

Astro PostgreSQL Keycloak Vault Docker Traefik

A production-grade platform for discovering local events, workshops, and culture across Ireland - built with a focus on security, scalability, and operational excellence.

Architecture

CityGuide runs as a containerized microservices stack designed for production:

  • Multi-tenant subdomains - City-specific routing (dublin.cityguide.events, cork.cityguide.events) with automatic SSL
  • Zero-trust secrets - No hardcoded credentials; secrets generated and distributed at runtime
  • Infrastructure as code - Entire stack defined declaratively with proper dependency ordering

Tech Stack

Frontend

  • Astro - Server-side rendered pages with island architecture
  • Tailwind CSS - Styling and responsive design

Backend & Data

  • PostgreSQL + PostGIS - Spatial queries for location-based event discovery
  • MinIO - S3-compatible object storage for images and submissions

Identity & Security

  • Keycloak - Identity and access management with OIDC
  • HashiCorp Vault - Centralized secrets management
  • Traefik - Reverse proxy with automatic Let’s Encrypt SSL and security headers

Observability

  • Prometheus + Grafana - Metrics collection and dashboards
  • Health checks - All services report readiness; dependencies enforced

Operations

  • Automated backups - Scheduled database dumps with configurable retention
  • Security hardening - Principle of least privilege applied throughout

Challenges Solved

  • Dynamic subdomain routing - Wildcard SSL certificates with automatic provisioning
  • Secrets bootstrapping - Solving the chicken-and-egg problem of services needing credentials before the secrets store is ready
  • Service mesh complexity - Coordinating 12 interdependent services with proper startup ordering and health checks