Chapter 03

GitHub Projects

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

  1. 3.1

    Pepprio

    Order management SaaS for restaurants: Uber Eats, Deliveroo, Just Eat and Glovo on a single tablet, POS, kitchen display, kiosk and automatic disputes.

    • PHP 8.4
    • Symfony 7
    • GraphQL
    • Vue 3
    • TypeScript
    • MySQL
    • Redis
    • Stripe
    • Docker
    • Traefik
    www.pepprio.com ↗
  2. 3.2

    OrpiHub

    ORPI network data platform (internal project): sales steering, mapping, exports, agency audits and an AI business assistant with an MCP server and RAG.

    • Symfony
    • PHP 8
    • React
    • TypeScript
    • GraphQL
    • SQL Server
    • MySQL
    • PostgreSQL
    • BigQuery
    • Docker
    www.orpi.com ↗
  3. 3.3

    UberEat PHP SDK

    PHP SDK for UberEat API integration

    • Complete UberEat API integration
    • Order and menu management
    • Detailed documentation and examples
    • PHP
    • REST APIs
    • PHPUnit
    • GitHub Actions
    github.com/pepprio/uber-eats-sdk-php ↗
  4. 3.4

    Symfony CRUD Template Bundle

    Bundle for quickly generating CRUD interfaces

    • PHP
    • Symfony
    • Twig
    • JavaScript
    github.com/BenMacha/Templatebundle ↗
  5. 3.5

    Symfony Mouse Tracker

    Bundle for tracking user interactions

    • PHP
    • Symfony
    • React
    • VueJS
    • TypeScript
    github.com/BenMacha/mouseTracker ↗
  6. 3.6

    Symfony Diagram Bundle

    Diagram generator for Symfony projects

    • PHP
    • Symfony
    • Doctrine
    • React
    • VueJS
    • TypeScript
    github.com/BenMacha/diagram-bundle ↗
  7. 3.7

    Symfony Audit Bundle

    Audits Doctrine entity changes with rollback, a web interface and a REST API.

    • PHP
    • Symfony
    • Doctrine
    • Twig
    • REST APIs
    github.com/BenMacha/audit-bundle ↗
  8. 3.8

    AuthX Bundle

    Authentication and authorization for Symfony: JWT, OpenID Connect, user management, audit logging and subscriptions.

    • PHP
    • Symfony
    • JWT
    • OpenID Connect
    • Twig
    github.com/BenMacha/authx-bundle ↗
  9. 3.9

    Omnimail MCP

    Open source multi-account mail MCP server (iCloud, Gmail, Outlook, Yahoo, Proton, Infomaniak, IMAP), with Docker, GDPR compliant.

    • MCP
    • IMAP
    • Docker
    github.com/BenMacha/omnimail-mcp ↗
  10. 3.10

    Portfolio benmacha.tn

    This site: a trilingual (FR / EN / AR) technical book in Nuxt 3, prerendered, with isometric figures.

    • Nuxt
    • VueJS
    • TypeScript
    • GitHub Actions
    github.com/BenMacha/benmacha.github.io ↗

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.