About this demo
PropertyFlow is a technical proof of concept for a Spanish real-estate catalogue. It exists to show an end-to-end pipeline, from an XML property feed to a bilingual public website, built with production habits: migrations, tests, least-privilege access and safe failure modes.
Running for real
- Next.js 16 site on Vercel reading live from Supabase PostgreSQL
- SQL migrations with constraints, PostGIS geography and row-level security
- Kyero V3-compatible XML importer with streaming parser, content hashing and idempotent upserts
- Feed-level safety: truncated, malformed or DOCTYPE/XXE feeds are rejected; mass deactivation is guarded
- Unit and PostgreSQL integration tests in GitHub Actions
Simulated
- All listings, prices, coordinates and descriptions are generated by a deterministic script
- Photos are random placeholders from Lorem Picsum and do not show the listed homes
- The XML feed follows the public Kyero V3 structure but is not a real agency or MLS feed
Not implemented
- No real MLS, Kyero, Rightmove or CRM integration and no provider certification
- No enquiries, accounts or agent back office
- No production load testing; the dataset is a few hundred listings
Architecture
XML feed → importer (Node.js CLI on a Linux VPS, systemd timer) → Supabase PostgreSQL + PostGIS → Next.js on Vercel (read-only publishable key) → EN/DE catalogue.
Source and documentation
The repository contains the migrations, fixtures, importer, tests, CI workflow and deployment notes.
github.com/chux0519/propertyflow-demo
Feed structure reference: Kyero XML Import Specification V3.9.1. Kyero-compatible does not mean Kyero-certified. help.kyero.com