A Laravel package for integrating with the Ballchasing.com API, providing easy access to Rocket League replay data and analysis.
- ✅ Replay Management: List, retrieve, upload, update, and delete replays
- ✅ Group Management: Create and manage replay groups
- ✅ Maps Information: Get available Rocket League maps
- ✅ Laravel Integration: Service provider with dependency injection
- ✅ Type Safety: Full PHP 8.2+ type declarations and DTOs
- ✅ Testing: Comprehensive test suite with mocked HTTP responses
- ✅ Error Handling: Custom exceptions with detailed error messages
- ✅ Retry Logic: Automatic retry for server errors
Install the package via Composer:
composer require lucie/ballchasing-laravelPublish the configuration file:
php artisan vendor:publish --tag=ballchasing-configAdd your Ballchasing API key to your .env file:
BALLCHASING_API_KEY=your_api_key_hereRun unit tests with mocked HTTP responses (no API key required):
composer test
# or specifically
composer test-unitFor integration testing with the real Ballchasing API:
-
Copy the example environment file:
cp .env.testing .env
-
Add your real API key to
.env:BALLCHASING_API_KEY=your_real_api_key_here
-
Run integration tests:
composer test-integration
Generate test coverage reports:
composer test-coverageFormat code using Pint:
composer formatRun PHPStan analysis:
composer analyseThis package follows Semantic Versioning. To create a new release:
- Update the version in
composer.json - Run all checks:
composer release - Commit the changes
- Create a new git tag:
git tag v1.0.0 - Push with tags:
git push --tags
Note: Since this is a beta package (0.x.x), the API may change between minor versions until we reach 1.0.0.
📖 Full documentation is available in multiple languages:
- English: docs/en/usage.md
- Français: docs/fr/usage.md
- PHP 8.2+
- Laravel 10.0+
- Guzzle HTTP 7.0+
The MIT License (MIT). Please see License File for more information.
Contributions are welcome! Please feel free to submit a Pull Request.
If you discover any security vulnerabilities, please send an e-mail to lucie@parapluie.link.
- Lucie
- Ballchasing.com for providing the API
Built for the Rocket League community 🚗⚽