Easy-to-manage touch screens
무료 오픈소스 터치스크린으로 USB 설정 가이드, 드래그‑드롭 편집기, 로컬 제어를 제공하며 Home Assistant용으로 제작되었습니다
여행 경로를 발견하고 목적지를 탐색해 순서대로 따라가세요. 좋아하는 여정을 저장해 직접 재구성합니다
Discover travel journeys, explore destinations and follow ordered routes. Save journeys you love and remix them into your own trips.
라이프스타일TypeScript · JavaScriptGitHub @jithu810온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기travel app
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Mobile-first social travel discovery centered on journeys and ordered stops. Foundation, discovery, journey details, authentication, Create/Edit Journey, profiles and the social loop are implemented. See social-loop setup. See creation setup, authentication, discovery, and journey details.
Requires Node.js 22.14+ and npm. On a new checkout, run npm ci, copy .env.example to .env.local, fill the public credentials, and run npm run dev. Keep an existing .env.local when it already contains your credentials. Open http://localhost:3000. Anonymous discovery and demo journeys work without Supabase; account/creation actions require it.
npm run typecheck
npm run lint
npm run test:db
npm run build
npm run test:e2e
npm run test:creation
npm start
Database tests use isolated PostgreSQL with Supabase-managed Auth/Storage schemas simulated. Creation browser tests build separately into .next-creation-tests and use a local HTTP fixture for external services. Hosted account creation, uploads and Mapbox access need manual live verification. Tests do not create hosted records.
| Variable | Value |
|---|---|
NEXT_PUBLIC_SUPABASE_URL | Supabase project URL |
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY | Public publishable key |
NEXT_PUBLIC_SUPABASE_ANON_KEY | Optional legacy anon-key fallback |
NEXT_PUBLIC_MAPBOX_TOKEN | Public Mapbox pk. token |
.env.local is ignored by Git. Never use a service-role or secret key in public variables. Restart/rebuild after public environment changes. No Dropbox settings or SDK exist.
Apply these migrations once, in order, through SQL Editor or your existing Supabase CLI workflow. On an existing project, apply only migrations not already applied:
supabase/migrations/20261001000000_core_schema.sqlsupabase/migrations/20261001010000_public_discovery.sqlsupabase/migrations/20261001020000_journey_details.sqlsupabase/migrations/20261002000000_journey_creation.sqlsupabase/migrations/20261002010000_journey_media_15mb.sqlsupabase/migrations/20261002020000_social_loop.sqlThe existing profiles, journeys, journey_stops, likes and saves remain. Auth users automatically receive a profile. Published journeys/stops are public; drafts and edits belong to the owner. The new save RPC validates and writes a journey with all its stops atomically. New/editor-saved sequence is 1..N; existing historical/demo ordering is preserved until edited. Destination name/coordinates supplement the existing slug. Publication uses existing status and published_at.
The creation and image-limit migrations configure private journey-media Storage with image-only MIME/15 MB limits and owner/published-reference object policies. Only object paths are persisted; authorized reads receive signed URLs. Images are immutable; removed/abandoned objects may need manual cleanup. Since 20261025153306_remix_without_media.sql, copy_journey (whole-journey remix) no longer copies the original author's cover or stop photos; remixers add their own. Existing remixes keep their current image references. The Mobile customize-stops copy (copy_journey_selected, recorded from live in 20261026045508_capture_customize_stops.sql) also omits media. No image processing service is added.
Enable Email/password signup in Supabase Auth. Set Site URL and allowed /auth/callback URLs for localhost and deployment; see the authentication guide for confirmation/testing. Regenerate Supabase TypeScript types after future schema changes.
Optional demo seed: npm run seed:demo -- <existing-demo-owner-uuid>, review generated SQL and apply it manually. Local demo fixtures remain labeled and usable without login.
src/app contains pages/API routes, src/components contains UI/map/journey/destination/auth components, and src/lib contains typed service clients and helpers. SQL lives in supabase/migrations, verification tools in scripts and tests.
Public: /, /explore, /destination/[slug], /journey/[id]. Accounts: /login, /auth/callback, protected /profile. Creation: protected /create and /create?draft=[id]; /api/journeys POST saves/publishes and /api/journeys/[id]/images POST uploads. Existing /api/journeys/[id]/actions handles social/copy actions. /saved lists private saved relationships to published journeys. /profile/[username] is public; /profile redirects to your profile and /profile/edit is protected. Owners edit drafts or published journeys at /create?edit=[id]. Owner deletion uses /api/journeys/[id] DELETE.
Configure a public Mapbox token for styles/tiles and permanent Geocoding, restricted to development/deployment origins. Permanent Geocoding needs a credit card on the account or enterprise access; addresses/places may not include precise landmarks. Selecting a Mapbox result immediately adds a stop with automatically captured coordinates. There is no manual coordinate entry. Search Box is not used for India's persisted stops. The reused JourneyMap draws the exact creator order; no directions or optimization API is called.
Deploy as a Next.js project on Vercel with compatible Node.js and default build/output settings. Set environment variables before building, apply SQL separately, and add deployment domains to Auth/Mapbox. The existing API uploads work locally up to 15 MB. Vercel functions have a smaller request payload cap, so uploads above that cap need a direct-to-Storage upload flow before deployment. The isolated test build setting is development-only; normal builds use .next.
See scope and decisions. No Dropbox, AI, route optimization, comments, followers, messaging, notifications, bookings, payments, recommendations or additional infrastructure. No changes are pushed to GitHub automatically.
Apply supabase/migrations/20261002010000_journey_media_15mb.sql in the hosted Supabase SQL editor to raise the journey-media bucket limit to 15 MB (15,728,640 bytes). Existing RLS and MIME restrictions stay unchanged.
Deployed with Vercel.