Easy-to-manage touch screens
무료 오픈소스 터치스크린으로 USB 설정 가이드, 드래그‑드롭 편집기, 로컬 제어를 제공하며 Home Assistant용으로 제작되었습니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
White-label digital room key middleware for independent hotels. This PoC
demonstrates: mock magic link → mock identity verification → Apple Wallet
.pkpass download styled as a room key.
Read ROADMAP.md first — real door unlock requires a lock
vendor partnership (Salto / Assa Abloy / dormakaba), not just this app.
Open http://localhost:3000 and follow the demo check-in link
(/checkin/room-101?token=abc).
Without Apple certificates configured, the check-in/verify flow works fully;
/api/pass returns a 501 explaining what's missing. See
certs/README.md to enable real pass signing.README 전문 보기 ↗White-label digital room key middleware for independent hotels. This PoC
demonstrates: mock magic link → mock identity verification → Apple Wallet
.pkpass download styled as a room key.
Read ROADMAP.md first — real door unlock requires a lock vendor partnership (Salto / Assa Abloy / dormakaba), not just this app.
npm install
npm run dev
Open http://localhost:3000 and follow the demo check-in link
(/checkin/room-101?token=abc).
Without Apple certificates configured, the check-in/verify flow works fully;
/api/pass returns a 501 explaining what's missing. See
certs/README.md to enable real pass signing.
The landing-page contact form posts to /api/leads. Set server-only variables
in .env.local locally and in the deployment environment on Vercel:
RESEND_API_KEY=re_...
LEADS_FROM="PortaPass <[email protected]>"
[email protected]
Use a sending-only Resend key scoped to the verified zephyron.tech domain.
The website can use a different domain: Resend verifies the sender, not the
landing URL. Keep the endpoint on the same origin as the form. If migrating
the entire app, also update APP_BASE_URL and Bank iD registered redirect URLs;
those settings are independent of Resend. Do not put the key in NEXT_PUBLIC_*.
No key means HTTP 503, not fake success. A successful response means Resend
accepted the message, not that it reached the recipient inbox. Verify delivery
in the Resend dashboard and target mailbox after configuring the environment.
Messages are plain text; the visitor email is Reply-To, never From or To.
Retries with unchanged fields reuse Resend's idempotency key (24-hour window).
Before exposing the form publicly, configure a Vercel Firewall rate-limit rule
for POST /api/leads (start with 5 requests per IP per 10 minutes), with bot
protection as needed. The code's bounded in-memory limiter is only a per-instance
backstop, not a distributed serverless limit. Outside Vercel it shares one
bucket; configure rate limiting at your trusted reverse proxy. Origin checking
and a honeypot are not authentication and cannot stop determined bots.
Review the privacy notice against the actual Resend/hosting/mailbox contracts, accept Resend's DPA and confirm international-transfer safeguards. The operator must delete concluded enquiries from the mailbox/provider as described in the notice; this app has no retention worker or database. Do not submit sensitive guest identity data through the contact form.
docker compose up --build
src/app/checkin/[roomId] — guest-facing check-in flow (magic link target)src/app/api/checkin/verify — mock identity verification endpointsrc/app/api/pass — generates and streams the signed .pkpasssrc/lib/mockData.ts — hardcoded booking data (stand-in for Previo/Mews)src/lib/passkit.ts — Apple Wallet pass generation (passkit-generator)src/passkit-model/roomkey.pass — pass template (images + pass.json)