Easy-to-manage touch screens
무료 오픈소스 터치스크린으로 USB 설정 가이드, 드래그‑드롭 편집기, 로컬 제어를 제공하며 Home Assistant용으로 제작되었습니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Everything travel — trips, guides, gear, tools — published to GitHub Pages
저장소 README에서 가져옴
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.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.