Skip to content

About

Global GuideAlong Tours Explorer

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

GuideAlong Tours Explorer

Netlify Status Quality Gate Status Renovate enabled Data refresh License

🗺️ Explore GuideAlong tours on an interactive map.

GuideAlong Tours

A simple web app that displays GuideAlong tours on an interactive map — completely free, with no API keys required.


✨ Features

  • 🗺️ Every tour, one map — the complete GuideAlong catalog plotted on an interactive map
  • 📍 Info-rich popups — titles, descriptions, duration, audio points, and direct links right on the marker
  • 🔍 Instant search — filter by name, country, state, tour type, or status; jump to any tour with ⌘K/Ctrl+K
  • 🗂️ View it your way — group tours by Status or Category (Driving, Walking, National Park, Bundle)
  • 🔃 Sort on the fly — by title, completion date, or distance from your location
  • 📡 Locate-me — one tap finds the tours nearest you, with live distances
  • ✅ Progress tracking — completed trips get a green GuideAlong pin and their completion date
  • 📱 Mobile friendly — collapsible panels and a peek-and-expand bottom sheet for on-the-go exploring

🛠️ Built with

  • 🗺️ MapLibre GL JS — interactive vector maps
  • 🌍 OpenFreeMap — free, no-API-key vector tiles
  • ⚡ Vite — dev server and static file serving
  • 📦 pnpm — fast, disk-efficient package manager
  • 🧹 Biome — linting and formatting
  • ☁️ Netlify — hosting and preview deploys
  • 📍 Google Maps Geocoding SDK — optional server-side geocoding

🚀 Getting started

📋 Prerequisites

  • 📦 Node.js and pnpm

🖥️ Running locally

Install dependencies and start the Vite dev server:

pnpm install
pnpm start

The UI runs entirely in the browser — with no API keys required. See Scripts for the full command reference.

🧭 Using the UI

GuideAlong Tours

  • 🔍 Search: press Cmd+K/Ctrl+K (or the search button) for a keyboard-driven tour search palette, or use the inline search field.
  • 🎛️ Filters: Country, State, Tour type (by category), Tour status, and Search (title/description).
  • 🗂️ Group & Sort: group the list by Status or Category, and sort by Title, Completed date, or Distance.
  • 📡 Locate-me: use the map's locate control to capture your position, then sort by Distance to see tours nearest you (with computed distances shown).
  • 📑 Sections (Filters, Group & Sort, Tours) are collapsible and start collapsed on load; the Tours header shows the count and completed tally.
  • 🖱️ Clicking a tour in the list pans/zooms the map and opens its info window.

📜 Scripts

Command Description
pnpm start Serve the UI from ./src on port 3000
pnpm fetch:tours Scrape and update src/data/tours.json (and geocode when an API key is set)
pnpm test Run the Node test suite
pnpm lint Apply lint fixes via Biome
pnpm lint:check Check lint without writing changes
pnpm lint:ci Combined CI gate with GitHub annotations
pnpm format Format files via Biome
pnpm format:check Check formatting without writing changes
pnpm check Check lint, formatting, and import order
pnpm check:fix Apply all Biome fixes
pnpm links:check Check internal links with lychee
pnpm links:check:external Also check external URLs

pnpm links:check uses lychee (brew install lychee); settings live in lychee.toml.

🤝 Contributing

Contributions are welcome! 🎉

  • Open an issue for bugs or feature requests.
  • See CONTRIBUTING.md for development details — data files, refreshing tour data, deploying to Netlify, and troubleshooting.

📜 License

⚖️ Licensed under the ISC License.

🚗 Tour content is sourced from GuideAlong and remains their property.

ℹ️ This project is for demonstration purposes and is not affiliated with GuideAlong.

About

Global GuideAlong Tours Explorer

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Sponsor this project

Contributors

Languages