surfoo/georoadbook

Create your geocaching roadbook ready-to-print from your gpx file.

Maintainers

Package info

github.com/Surfoo/GeoRoadbook

Homepage

Language:JavaScript

Type:project

pkg:composer/surfoo/georoadbook

Transparency log

Statistics

Installs: 7

Dependents: 0

Suggesters: 0

Stars: 6

Open Issues: 1

2.1 2019-02-12 21:21 UTC

This package is auto-updated.

Last update: 2026-07-12 23:27:25 UTC


README

GeoRoadbook is a web app to create your geocaching roadbook ready-to-print from your GPX file (Pocket Query, GSAK, GCTour, …). Upload a GPX (or pick one of your Pocket Queries via the Geocaching.com API), customize the content, edit it in the browser, and export as HTML, ZIP, or a print-grade PDF with a paginated table of contents, page headers/footers, and PDF bookmarks.

Hosted here: http://georoadbook.vaguelibre.net/

Stack

  • Symfony 8 (no database — roadbooks are plain files, users live in the session)
  • Bootstrap 5 + vanilla JavaScript via Symfony Asset Mapper (no build step)
  • Jodit in-browser editor
  • WeasyPrint sidecar for HTML → PDF conversion (CSS Paged Media)
  • Twig rendering of parsed GPX (typed GpxParser + RoadbookRenderer), jBBCode and cebe/markdown for log parsing
  • PHP 8.5 with the tidy extension
  • OAuth2 (PKCE) against the Geocaching.com API for Pocket Queries

Development setup

git clone https://github.com/Surfoo/georoadbook.git
cd georoadbook
cp .env .env.local          # set GEOCACHING_OAUTH_KEY/SECRET/CALLBACK
docker compose up -d --build
docker compose exec php-fpm composer install

The app runs at http://localhost:8000/. Three services: webserver (nginx), php-fpm, and weasyprint (PDF conversion).

Code quality

Rector, php-cs-fixer, and PHPStan (level 6) run in CI (.github/workflows/check.yml) and in the versioned pre-commit hook. Activate the hook once per clone:

git config core.hooksPath .githooks

Composer shortcuts: composer rector, composer php-cs-fixer, composer phpstan.

Housekeeping

Roadbooks are deleted after 30 days without modification. Run the purge from cron:

php bin/console app:roadbook:purge          # add --dry-run to preview, --days N to override

License

GeoRoadbook is distributed under the Apache License, Version 2.0.

Contact

  • original author: surfooo at gmail dot com