1
The reference application
LARAVEL · AUTHORITY AND CONSUMER · AGPL-3.0 · PRE-RELEASE
A complete node as a conventional Laravel application, and reference material before it is a product: thin controllers, explicit service classes, and the specification cited in the code at the point each rule is implemented, so a developer — or a coding agent — can see a working federation node and carry the patterns into a system of their own.
It serves its own sale and charter listings with the full wire schema; signs and verifies every request (the signing test vectors pass byte for byte) and rotates keys; polls partners with keyset cursors and tombstones; gates field groups per partner; replays every visibility change through an append-only event log, so unsharing arrives as a tombstone and re-sharing as an ordinary update; and offers push subscriptions in both directions. Its tests are grouped by conformance ID: running one group is the self-certification for that row of the checklist.
Runs on PHP 8.4 with the sodium extension, SQLite by default or MySQL. Not yet there: an import connector for an incumbent feed, an installation wizard, and signed URLs for original media — the pieces between "a working node" and "a brokerage with no dev team is sharing by tomorrow", which is what Phase 2 promises.
github.com/OpenYacht/openyacht-reference-app-php README · SETUP · DEPLOYMENT