Skip to content

tfaehse/trip-generator

Repository files navigation

Route Planner Static Dashboard

A small Python static-site generator for scenic road-trip planning. It turns a structured data/trip.yaml itinerary into a shareable dashboard with daily pages, maps, Google Maps links, GPX files, and a KML export.

The included sample data is an Alpine sports-car itinerary using public area anchors instead of exact private accommodation names or addresses.

Quick Start

uv sync
uv run route-dashboard validate
uv run route-dashboard build
uv run route-dashboard serve

The generated site is written to dist/. The site uses Leaflet and OpenStreetMap tiles. Route geometry comes from cached OpenRouteService GeoJSON when present, and otherwise falls back to straight waypoint lines plus the YAML distance/time estimates.

OpenRouteService Routes

For routed road geometry, create a local .env file:

OPENROUTESERVICE_API_KEY="your-key-here"

Then run:

uv run route-dashboard fetch-routes
uv run route-dashboard build

fetch-routes caches route geometry under .cache/ors/. The .env file and route cache are ignored by git.

Customizing The Trip

Start with data/trip.yaml. Keep private hotel names, exact home addresses, booking references, and contact details out of that file if you intend to publish the repo or dashboard.

For a practical walkthrough, see docs/ADDING_YOUR_OWN_TRIP.md.

Cloudflare Deployment

This repo includes wrangler.jsonc and a GitHub Actions workflow for deploying the generated dist/ site to Cloudflare Workers Static Assets.

For setup steps, required Cloudflare secrets, and manual deploy commands, see docs/CLOUDFLARE_DEPLOYMENT.md.

Quality Gates

uv run ruff check .
uv run ruff format --check .
uv run mypy
uv run coverage run -m unittest discover -s tests
uv run coverage report

Coverage is enforced at 80% via pyproject.toml.

About

Genenate a road trip using LLMs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors