Skip to content

Surfoo/GeoRoadbook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

261 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GeoRoadbook

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

About

GeoRoadbook, create your geocaching roadbook ready-to-print from your gpx file.

Topics

Resources

License

Stars

6 stars

Watchers

2 watching

Forks

Packages

 
 
 

Contributors