WORLD 3 · BONUS BLOCKS

GitHub Projects

Open source tools born from real production needs: Uber Eats API integration, CRUD interface generation and tooling for Symfony.

UberEat PHP SDK

PHP SDK for UberEat API integration

  • Complete UberEat API integration
  • Order and menu management
  • Detailed documentation and examples
View on GitHub ↗

Symfony CRUD Template Bundle

Bundle for quickly generating CRUD interfaces

View on GitHub ↗

> Why these open source projects

Each of these projects was born from a need I met in production: an integration to write, a repetitive task to automate or information that was hard to get. Instead of keeping the code inside a single project, I extracted it, documented it and published it on GitHub and Packagist so that other PHP and Symfony developers can use it.

These repositories span several generations of Symfony, from the first bundles written in 2017 to recent versions maintained for Symfony 7. They also show how I work: typed code, static analysis tools, continuous integration and documentation that is readable right from the repository's front page.

> UberEats PHP SDK: a clean Uber Eats API integration

The UberEats SDK is a modern PHP client for the Uber Eats API, compatible with PHP 7.4 and above. It handles authentication, orders, stores and deliveries, as well as webhooks. Requests and responses are represented by typed objects, which avoids handling fragile associative arrays.

The project relies on Guzzle for HTTP and accepts an optional PSR-3 logger. Quality is checked automatically: PSR-12 coding style with PHP CS Fixer, PHPStan at the maximum level and tests running in continuous integration on GitHub Actions. It installs with Composer through the ubereats/php-sdk package.

> The Symfony bundles

Template Bundle (benmacha/templatebundle) provides a ready-to-use admin interface and a command, benmacha:generate:crud, that generates a complete CRUD with its menu entry. It saves real time on internal back offices where many similar management screens are needed.

MouseTrackerBundle (benmacha/mousetracker) is a self-hosted mouse tracker for Symfony 5.4, 6.4 and 7.x, on PHP 8.1 and above. It records movements, clicks, scrolling and DOM snapshots in your own database to produce heatmaps and session replays without sending your users' data to a third-party service. Version 2 no longer depends on jQuery.

DiagramBundle (benmacha/diagram-bundle), released under the MIT license, draws the entities of a database and the relationships between them. It helps you quickly understand the data model of an existing Symfony project, for example when taking over a codebase or onboarding a new developer.

> Use or contribute

All these packages install with Composer, and their documentation lives directly in the GitHub repository. Issues and pull requests are welcome: a precise bug report or a documentation improvement is already a useful contribution. For a more specific need around Symfony or an API integration, you can also contact me directly.