Show HN: 실시간 협업을 통해 자체 호스팅 Wanderlog 대안을 구축했습니다.

hackernews | | 📰 뉴스
#실시간협업 #여행계획 #오픈소스 #자체호스팅 #지도
원문 출처: hackernews · Genesis Park에서 요약 및 분석

요약

NOMAD는 대화형 지도, 일정 관리, 예산 추적, 패킹 리스트 등을 포함한 포괄적인 기능을 갖춘 셀프 호스팅형 여행 계획 도구입니다. 이 플랫폼은 WebSocket을 기반으로 한 실시간 협업 기능을 제공하여 여러 사용자가 동시에 여행 계획을 수정하고 공유할 수 있으며, PWA 기술을 통해 앱 스토어 설치 없이 모바일에서도 네이티브 앱처럼 실행됩니다. Node.js와 React 기반의 이 소프트웨어는 Docker를 통해 간편하게 배포할 수 있으며, Wanderlog의 대안으로서 데이터 주권을 중시하는 사용자를 겨냥하고 있습니다.

본문

Your Trips. Your Plan. A self-hosted, real-time collaborative travel planner with interactive maps, budgets, packing lists, and more. Live Demo — Try TREK without installing. Resets hourly. - Drag & Drop Planner — Organize places into day plans with reordering and cross-day moves - Interactive Map — Leaflet map with photo markers, clustering, route visualization, and customizable tile sources - Place Search — Search via Google Places (with photos, ratings, opening hours) or OpenStreetMap (free, no API key needed) - Day Notes — Add timestamped, icon-tagged notes to individual days with drag & drop reordering - Route Optimization — Auto-optimize place order and export to Google Maps - Weather Forecasts — 16-day forecasts via Open-Meteo (no API key needed) with historical climate averages as fallback - Map Category Filter — Filter places by category and see only matching pins on the map - Reservations & Bookings — Track flights, accommodations, restaurants with status, confirmation numbers, and file attachments - Budget Tracking — Category-based expenses with pie chart, per-person/per-day splitting, and multi-currency support - Packing Lists — Category-based checklists with user assignment, packing templates, and progress tracking - Packing Templates — Create reusable packing templates in the admin panel with categories and items, apply to any trip - Bag Tracking — Optional weight tracking and bag assignment for packing items with iOS-style weight distribution (admin-toggleable) - Document Manager — Attach documents, tickets, and PDFs to trips, places, or reservations (up to 50 MB per file) - PDF Export — Export complete trip plans as PDF with cover page, images, notes, and TREK branding - Progressive Web App — Install on iOS and Android directly from the browser, no App Store needed - Offline Support — Service Worker caches map tiles, API data, uploads, and static assets via Workbox - Native App Feel — Fullscreen standalone mode, custom app icon, themed status bar, and splash screen - Touch Optimized — Responsive design with mobile-specific layouts, touch-friendly controls, and safe area handling - Real-Time Sync — Plan together via WebSocket — changes appear instantly across all connected users - Multi-User — Invite members to collaborate on shared trips with role-based access - Invite Links — Create one-time registration links with configurable max uses and expiry for easy onboarding - Single Sign-On (OIDC) — Login with Google, Apple, Authentik, Keycloak, or any OIDC provider - Two-Factor Authentication (MFA) — TOTP-based 2FA with QR code setup, works with Google Authenticator, Authy, etc. - Collab — Chat with your group, share notes, create polls, and track who's signed up for each day's activities - Vacay — Personal vacation day planner with calendar view, public holidays (100+ countries), company holidays, user fusion with live sync, and carry-over tracking - Atlas — Interactive world map with visited countries, bucket list with planned travel dates, travel stats, continent breakdown, streak tracking, and liquid glass UI effects - Collab — Chat with your group, share notes, create polls, and track who's signed up for each day's activities - Dashboard Widgets — Currency converter and timezone clock, toggleable per user - Dashboard Views — Toggle between card grid and compact list view on the My Trips page - Dark Mode — Full light and dark theme with dynamic status bar color matching - Multilingual — English, German, Spanish, French, Russian, Chinese (Simplified), Dutch, Arabic (with RTL support) - Admin Panel — User management, invite links, packing templates, global categories, addon management, API keys, backups, and GitHub release history - Auto-Backups — Scheduled backups with configurable interval and retention - Customizable — Temperature units, time format (12h/24h), map tile sources, default coordinates - Backend: Node.js 22 + Express + SQLite ( better-sqlite3 ) - Frontend: React 18 + Vite + Tailwind CSS - PWA: vite-plugin-pwa + Workbox - Real-Time: WebSocket ( ws ) - State: Zustand - Auth: JWT + OIDC + TOTP (MFA) - Maps: Leaflet + react-leaflet-cluster + Google Places API (optional) - Weather: Open-Meteo API (free, no key required) - Icons: lucide-react docker run -d -p 3000:3000 -v ./data:/app/data -v ./uploads:/app/uploads mauriceboe/trek The app runs on port 3000 . The first user to register becomes the admin. TREK works as a Progressive Web App — no App Store needed: - Open your TREK instance in the browser (HTTPS required) - iOS: Share button → "Add to Home Screen" - Android: Menu → "Install app" or "Add to Home Screen" - TREK launches fullscreen with its own icon, just like a native app Docker Compose (recommended for production) services: app: image: mauriceboe/trek:latest container_name: trek ports: - "3000:3000" environment: - NODE_ENV=production - PORT=3000 # - OIDC_ISSUER=https://auth.example.com # - OIDC_CLIENT_ID=trek # - OIDC_CLIENT_SECRET=supersecret # - OIDC_DISPLAY_NAME="SSO" # -

Genesis Park 편집팀이 AI를 활용하여 작성한 분석입니다. 원문은 출처 링크를 통해 확인할 수 있습니다.

공유

관련 저널 읽기

전체 보기 →