PHPackages                             surfoo/georoadbook - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. surfoo/georoadbook

ActiveProject[Utility &amp; Helpers](/categories/utility)

surfoo/georoadbook
==================

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

2.1(7y ago)672[1 issues](https://github.com/Surfoo/GeoRoadbook/issues)MITJavaScriptPHP ~7.2CI passing

Since Sep 13Pushed 1mo ago2 watchersCompare

[ Source](https://github.com/Surfoo/GeoRoadbook)[ Packagist](https://packagist.org/packages/surfoo/georoadbook)[ Docs](https://georoadbook.vaguelibre.net/)[ RSS](/packages/surfoo-georoadbook/feed)WikiDiscussions main Synced 6d ago

READMEChangelog (2)Dependencies (17)Versions (6)Used By (0)

GeoRoadbook
===========

[](#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:

Stack
-----

[](#stack)

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

Development setup
-----------------

[](#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 . Three services: `webserver` (nginx), `php-fpm`, and `weasyprint` (PDF conversion).

### Code quality

[](#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

[](#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
-------

[](#license)

GeoRoadbook is distributed under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0).

Contact
-------

[](#contact)

- original author: surfooo at gmail dot com

###  Health Score

38

—

LowBetter than 83% of packages

Maintenance58

Moderate activity, may be stable

Popularity11

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1978 days

Total

2

Last Release

2740d ago

PHP version history (2 changes)v2.0.0PHP &gt;=5.6

2.1PHP ~7.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/aa8e8e1aa2d80dc4165f74c572bd01e4228cd7a7c82142d8651a62b0ab182fef?d=identicon)[Surfoo](/maintainers/Surfoo)

---

Top Contributors

[![Surfoo](https://avatars.githubusercontent.com/u/553659?v=4)](https://github.com/Surfoo "Surfoo (261 commits)")

---

Tags

geocachinggpxgroundspeakroadbookgeocachinggroundspeakgeocachegeoroadbookroadbook

###  Code Quality

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/surfoo-georoadbook/health.svg)

```
[![Health](https://phpackages.com/badges/surfoo-georoadbook/health.svg)](https://phpackages.com/packages/surfoo-georoadbook)
```

###  Alternatives

[easycorp/easyadmin-bundle

Admin generator for Symfony applications

4.3k18.3M418](/packages/easycorp-easyadmin-bundle)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

595.8M668](/packages/shopware-core)[shopware/platform

The Shopware e-commerce core

3.4k1.5M3](/packages/shopware-platform)[matomo/matomo

Matomo is the leading Free/Libre open analytics platform

21.7k39.6k](/packages/matomo-matomo)[contao/core-bundle

Contao Open Source CMS

1301.7M3.0k](/packages/contao-core-bundle)[pimcore/pimcore

Content &amp; Product Management Framework (CMS/PIM/E-Commerce)

3.8k3.9M534](/packages/pimcore-pimcore)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
