chukka-wp / chukka-spec
Open standard and PHP package for water polo match data
v0.2.1
2026-04-05 21:41 UTC
Requires
- php: ^8.3
- illuminate/database: ^11.0|^12.0|^13.0
- illuminate/support: ^11.0|^12.0|^13.0
- illuminate/validation: ^11.0|^12.0|^13.0
- spatie/laravel-package-tools: ^1.12
Requires (Dev)
- orchestra/testbench: ^9.0|^10.0|^11.0
- pestphp/pest: ^3.0
- pestphp/pest-plugin-laravel: ^3.0
README
Open data standard for water polo match representation. Provides Eloquent models, migrations, event types, payload validation, game state computation, and correction handling.
This is the foundation package used by all other Chukka components.
Features
- Eloquent models: Club, Team, Player, Match, RosterEntry, Event, RuleSet
GameStateService— computes full match state from event logEventDispatcher— validates and persists match eventsCorrectionService— void and replace events without deletion- Bundled rule sets (FINA 2025 defaults, configurable per competition)
- Database migrations and seeders
Installation
composer require chukka-wp/chukka-spec
Usage
Publish migrations:
php artisan vendor:publish --tag=chukka-spec-migrations
Configure model overrides in config/chukka-spec.php:
return [ 'models' => [ 'club' => \App\Models\Club::class, 'match' => \App\Models\MatchModel::class, // ... ], ];