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