A strictly normalized relational schema for modeling tourism entities in the Dolomites (Val Gardena), designed for high-performance static site generation (SSG).
This project defines the "Snowflake" data architecture used to power programmatic travel utilities. It creates a separation of concerns between business logic (coordinates, price, tier) and localized content (translations, SEO slugs).
This schema is currently deployed in production for The Dolomites Guide.
- Live Demo / Production: https://thedolomitesguide.com
- Documentation: View Full Integration Docs
The architecture is designed for international SEO (i18n) and separates entities into:
- Core Tables: Immutable data (Lat/Lng, UUIDs, Tiers).
- Translation Tables: Localized content (EN, DE, IT).
- Metadata Layers: Flexible JSONB structures for seasonal data (Winter vs. Summer).
These schemas are compatible with Supabase (PostgreSQL) and Astro.
# Example: Fetching a localized guide object
const { data, error } = await supabase
.from('places')
.select(`
id,
place_translations!inner ( slug, title, description )
`)
.eq('town_id', 'selva-val-gardena')
.eq('place_translations.lang', 'en');