Easy-to-manage touch screens
무료 오픈소스 터치스크린으로 USB 설정 가이드, 드래그‑드롭 편집기, 로컬 제어를 제공하며 Home Assistant용으로 제작되었습니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Offline-first PWA for the 3HO Summer Solstice Sadhana 2026 festival schedule
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Offline-first mobile app (PWA + native iOS/Android via Capacitor) for the 3HO Summer Solstice Sadhana 2026 festival at Ram Das Puri, near Española, New Mexico (June 19–27, 2026). It replaces the printed booklet with a searchable program, local favorites and a personal agenda, teacher profiles, an offline info hub, and a zoomable camp map — all working on the device once installed, with no signal required. Offline is the product: every feature degrades gracefully with no connectivity, and the app is fully usable logged out.README 전문 보기 ↗
Offline-first mobile app (PWA + native iOS/Android via Capacitor) for the 3HO Summer Solstice Sadhana 2026 festival at Ram Das Puri, near Española, New Mexico (June 19–27, 2026).
It replaces the printed booklet with a searchable program, local favorites and a personal agenda, teacher profiles, an offline info hub, and a zoomable camp map — all working on the device once installed, with no signal required. Offline is the product: every feature degrades gracefully with no connectivity, and the app is fully usable logged out.
The app is evolving into a backend-connected, multi-event native app (see
docs/ROADMAP.md). The backend is WordPress + MySQL on 3ho.org
(the 3ho-solstice-app plugin lives in the separate 3ho.org repository).
ACCOUNT_SIGN_IN_ENABLED = false in src/lib/features.ts) because attendees
cannot create accounts yet; see docs/ACCOUNTS.md./ lists every event 3HO publishes (featured + rows,
one tap downloads and opens), the latest announcements and news & posts; each
event has its own home at /event (hero + sections). Synced events render in the
full app experience (Program/Favorites/Teachers/Info/Map/Menus). Sync Lab
(/sync-lab, internal) remains the backend test bench. See docs/HOME.md.src/data/landings.json;
A Woman's Renewal Experience is the first, see docs/LANDINGS.md), install tutorial,
and an account entry in the global header.Start at the docs index for the full map of docs. Key entries:
output: "export")@ducanh2912/next-pwa (Workbox) for the service workerios/ and android/ native projects are committed and syncednpm install
npm run dev
Open http://localhost:3000 (or npm run dev -- -p 3011 for an alternate port).
| Script | What it does |
|---|---|
npm run dev | Local dev server |
npm run typecheck | TypeScript check (tsc --noEmit) |
npm run lint | ESLint |
npm run build | Production build → static export in out/ |
npm run cap:sync | Build + sync the static export into the native projects |
npm run pull-program | Import the published Teacher & Musician program from the checkout feed |
npm run typecheck && npm run lint && npm run build
Routes export as flat files (out/map.html, out/info.html, …) — verify rendered
content in out/, not only in source. Full checklist in CLAUDE.md.
src/app/manifest.ts; icons live in public/icons/.@ducanh2912/next-pwa.src/components/offline-preloader.tsx) pre-caches every route
and static asset under a versioned cache (currently solstice-full-offline-v57).src/components/offline-preloader.tsx and next.config.ts, kept in sync.Installability: Android Chrome → menu → Install app; iPhone Safari → Share →
Add to Home Screen (in-app tutorial at /install).
ios/ and android/ are committed (app id org.threeho.summersolstice2026). Workflow:
npm run cap:sync
npx cap open ios
npx cap open android
Native-only features: agenda reminders 15 minutes before favorited sessions
(@capacitor/local-notifications) and push-registration groundwork
(@capacitor/push-notifications — device token registered with the backend after
sign-in; server-side sending ships with the messaging phase). Both are no-ops in the
browser/PWA. Details in docs/NATIVE.md.
Two sources feed the static data in src/data/:
program.json, venues.json, categories.json,
info-pages.json, teachers.json were extracted from 01_SSOL_booklet_2026.pdf.
Extraction is imperfect; see TODO_CONTENT_REVIEW.md before publishing widely.npm run pull-program (scripts/pull-program.mjs)
merges the published Teacher & Musician program from the registration platform
(register.3ho.org presenter bundle) into the JSON files: presenter-* entries are
replaced wholesale with stable ids (favorites survive reschedules), teachers are
enriched by name match, and photos are downloaded to public/images/teachers/.
Supports --base, --event, --dry-run, --insecure. See
docs/TEACHERS.md.The app consumes a versioned REST bundle from the 3ho-solstice-app WordPress plugin
(implemented in the 3ho.org repository): auth (opaque bearer tokens on WordPress
users), sync (event bundles with since/ETag), and devices (push tokens). The
backend origin is configurable via a shared base-URL override; the app remains fully
usable logged out and offline. See docs/BACKEND.md and
docs/ACCOUNTS.md.
The app is a static export, so it cannot send email by itself. The contact form saves
messages locally first, then posts them to NEXT_PUBLIC_CONTACT_ENDPOINT when online.
Production setup uses wordpress/3ho-solstice-contact-endpoint.php on the 3HO
WordPress site, which exposes:
https://www.3ho.org/wp-json/3ho-solstice/v1/contact
Public app variables (embedded at build time — update Vercel env vars before deploying):
NEXT_PUBLIC_CONTACT_ENDPOINT="https://www.3ho.org/wp-json/3ho-solstice/v1/contact"
NEXT_PUBLIC_CONTACT_EMAIL="[email protected]" # fallback email-draft target only
The automatic recipient is configured on WordPress
(define('THREEHO_SOLSTICE_CONTACT_TO_EMAIL', '…') — [email protected] in
production). Without the endpoint, messages stay saved locally and can be opened as
email drafts.
Every change set goes on its own type/topic branch, then push and merge on completion;
update CHANGELOG.md and any relevant docs with each change, and bump the offline cache
when the change is user-visible. Full rules are in CLAUDE.md (git workflow,
changelog, and documentation discipline).