Skip to content

othomation/ballchasing-sdk

Repository files navigation

Ballchasing Laravel SDK

A Laravel package for integrating with the Ballchasing.com API, providing easy access to Rocket League replay data and analysis.

Features

  • 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

Installation

Install the package via Composer:

composer require lucie/ballchasing-laravel

Configuration

Publish the configuration file:

php artisan vendor:publish --tag=ballchasing-config

Add your Ballchasing API key to your .env file:

BALLCHASING_API_KEY=your_api_key_here

Testing

Unit Tests (Mocked)

Run unit tests with mocked HTTP responses (no API key required):

composer test
# or specifically
composer test-unit

Integration Tests (Real API)

For integration testing with the real Ballchasing API:

  1. Copy the example environment file:

    cp .env.testing .env
  2. Add your real API key to .env:

    BALLCHASING_API_KEY=your_real_api_key_here
  3. Run integration tests:

    composer test-integration

Coverage Reports

Generate test coverage reports:

composer test-coverage

Development

Code Style

Format code using Pint:

composer format

Static Analysis

Run PHPStan analysis:

composer analyse

Versioning

This package follows Semantic Versioning. To create a new release:

  1. Update the version in composer.json
  2. Run all checks: composer release
  3. Commit the changes
  4. Create a new git tag: git tag v1.0.0
  5. 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.

Documentation

📖 Full documentation is available in multiple languages:

Requirements

  • PHP 8.2+
  • Laravel 10.0+
  • Guzzle HTTP 7.0+

License

The MIT License (MIT). Please see License File for more information.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Support

If you discover any security vulnerabilities, please send an e-mail to lucie@parapluie.link.

Credits


Built for the Rocket League community 🚗⚽

About

Laravel SDK for Ballchasing.com API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages