How Fakturaflyt (https://fakturaflyt.pages.dev) is built, where its demo data lives, and how it ships.
/, /demo and the /* fallback (public/_redirects).BOOKING_URL, CONTACT_URL, LEAD_ENDPOINT, ANALYTICS_TOKEN in src/vimplement.js), configured per docs/booking-setup.md. CONTACT_URL is the live VImplement request form; BOOKING_URL stays empty until a calendar is pasted. Every CTA resolves through src/lib/cta.js (booking -> contact -> mailto/tel) with UTM attribution per placement. Empty LEAD_ENDPOINT renders no form; set, it renders the 3-field native POST..github/workflows/verify-live.yml runs on cron: "23 4 * * *" (tokenless) — it resolves master HEAD via git ls-remote and proves the edge still serves it with check_build_json.py --url.master (npm ci, build, Playwright smoke); Cloudflare Pages publishes project fakturaflyt from dist/.| Public URL | https://fakturaflyt.pages.dev |
|---|---|
| Source | github.com/bergvictor/fakturaflyt |
| Routes | /, /demo, /architecture.html (also /architecture), /ehf-sjekkliste.html; unknown paths serve /index.html with HTTP 200. |
| Deploy | Vite builds src/ to dist/; public/ is copied verbatim and deploys with project fakturaflyt. |
npm ci npm run build git push origin master # wait for the Cloudflare Pages production build, then: python3 scripts/check_build_json.py --url https://fakturaflyt.pages.dev --expected-revision <full-SHA>