Easy-to-manage touch screens
Free, open-source touch screens. Guided USB setup, a drag-and-drop editor and local control. Made for Home Assistant.
Find your next night outside: cabins, campsites and glamping in Upstate New York, with availability checked live and real ratings.
LifestyleTypeScript · AstroGitHub @pfeilbrOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Everything travel — trips, guides, gear, tools — published to GitHub Pages
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Everything travel and the things that go with it: trips and live availability checks, places with
photos and real ratings, wishlists, reviews and trip plans. It's a static web app on GitHub Pages
with Supabase for user accounts and data.Read the full README ↗Everything travel and the things that go with it: trips and live availability checks, places with photos and real ratings, wishlists, reviews and trip plans. It's a static web app on GitHub Pages with Supabase for user accounts and data.
Live: https://pfeilbr.github.io/travel/
/ski/): a Camping | Ski switch in the header. Resorts across Vermont, New Hampshire, New York,
Pennsylvania, Utah, Colorado, Montana, California & Tahoe, Arizona, Québec and British Columbia: a hub with a region bar,
region pages (tips, which pass works, holiday events, list + map), an all-resorts explorer (filter by pass, sleigh rides,
snowmobiling, ice skating, scenic lifts, nightlife…; sort by vertical, snowfall, price or live new snow), resort pages
(stats and terrain mix, live snow and weather, where to stay, things to do, après, Christmas/New Year's and other events,
getting there, reviews) and a holiday calendar (/ski/holidays/)./bike/, /kayak/, /pickleball/, /camping/): the same regions,
each with a hub (regions, close to home, destinations, events, filterable list + map) and spot pages (facts,
features, live weather, outfitters, events, lodging, nearby, and cross-links to ski resorts and other activities).
The header switches between Camping, Ski, Biking, Kayaking and Pickleball./trips/): dated live-availability checks of NY State Parks and DEC campgrounds (ReserveAmerica, Campspot),
with per-type counts, base rates, cabin site numbers and gotchas. Once a trip's dates pass, its page says it's a snapshot./ski/events.ics plus /bike/, /kayak/, /pickleball/ and /camping/events.ics hold every
confirmed 2026-27 event as an all-day event (subscribe to them); dates that only follow past years stay out until posted./search/): every campground, resort and spot, matched in the browser (accents and punctuation ignored).sitemap.xml, robots.txt, Open Graph/Twitter cards with 1200px images, schema.org JSON-LD
(Campground, SkiResort, Event for confirmed dates), a 404 page and a web app manifest.| Piece | Choice |
|---|---|
| Frontend | Astro static build, vanilla TypeScript islands, Leaflet + OpenStreetMap |
| Hosting | GitHub Pages (.github/workflows/pages.yml) |
| Auth + DB | Supabase free tier: Postgres with SQL migrations and row-level security |
| Photos | Wikimedia Commons (free licenses, credited), fetched by scripts/fetch_images.py; Openverse (CC Flickr photos) as a fallback |
| Weather | Open-Meteo forecast API, called from the browser |
| Tests | Vitest (tests/js), Python unittest (tests/*.py), pgTAP RLS tests (supabase/tests) |
| Quality bar | WCAG AA contrast (axe-clean on key pages, light and dark), 375px with no sideways scroll, visible keyboard focus |
src/
pages/ routes: / explore/ trips/[slug]/ places/[id]/ wishlists/ account/ credits/ auth/callback/
ski/ ski/explore/ ski/holidays/ ski/[region]/ ski/resorts/[id]/
[pursuit]/ [pursuit]/[id]/ (bike, kayak, pickleball, camping)
components/ Header, AuthModal, PlaceCard, Explorer (filters + map), PhotoMosaic, CommunityReviews…
ski/ResortCard, ski/SkiExplorer, ski/SnowReport, ski/RegionTabs
data/ places.ts, trips.ts (typed content), images.json (generated photo credits)
ski/types.ts, ski/regions.ts, ski/resorts/*.ts (one file per research batch)
outdoors/types.ts, outdoors/pursuits.ts, outdoors/spots/*.ts
lib/ supabase client, wishlist, filter/format helpers, paths
assets/places/ downloaded photos (optimized at build)
supabase/
migrations/ schema (profiles, wishlists, reviews, trip_plans) + RLS
tests/ pgTAP tests run in CI
scripts/ fetch_images.py, supabase_admin.py, check_site.py (links, titles, sitemap)
npm install
npm run dev
Open http://localhost:4321/travel/. Sign-in is hidden unless .env has the public Supabase URL and key (see .env.example).
npm test && npx astro check && npm run build && python3 -m unittest discover -s tests && python3 scripts/check_site.py dist --base /travel
Push to main:
SUPABASE_PROJECT_REF variable and the SUPABASE_ACCESS_TOKEN secret.scripts/supabase_admin.py migrate, via the Management API)
applied to the hosted project. Auth settings (providers, redirect allow-list) belong to the shared
app-platform project and are never changed from this repo's CI.scripts/check_links.py fetches every official URL in src/data; a dead one fails the run.| Actions setting | Kind | Purpose |
|---|---|---|
SUPABASE_PROJECT_REF | variable | hosted project |
SUPABASE_ACCESS_TOKEN | secret | Management API: migrations, auth settings, browser key (the only Supabase secret) |
GOOGLE_CLIENT_ID / GOOGLE_CLIENT_SECRET | secrets | Google sign-in (already applied to the shared project) |
APPLE_CLIENT_ID / APPLE_CLIENT_SECRET | variable / secret | Apple sign-in (needs an Apple Developer account) |
SMTP_HOST, SMTP_USER, SMTP_SENDER_EMAIL / SMTP_PASS | variables / secret | sending email to real users (e.g. Resend) |
The repo and site are public. Never commit booking/confirmation numbers, IDs, or anything personal. Availability and prices are point-in-time snapshots; always confirm on the booking site.