GitHub Projects
Open source tools born from real production needs: Uber Eats API integration, CRUD interface generation and tooling for Symfony.
- 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
- 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
- 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
- 3.4
Symfony CRUD Template Bundle
Bundle for quickly generating CRUD interfaces
- PHP
- Symfony
- Twig
- JavaScript
- 3.5
Symfony Mouse Tracker
Bundle for tracking user interactions
- PHP
- Symfony
- React
- VueJS
- TypeScript
- 3.6
Symfony Diagram Bundle
Diagram generator for Symfony projects
- PHP
- Symfony
- Doctrine
- React
- VueJS
- TypeScript
- 3.7
Symfony Audit Bundle
Audits Doctrine entity changes with rollback, a web interface and a REST API.
- PHP
- Symfony
- Doctrine
- Twig
- REST APIs
- 3.8
AuthX Bundle
Authentication and authorization for Symfony: JWT, OpenID Connect, user management, audit logging and subscriptions.
- PHP
- Symfony
- JWT
- OpenID Connect
- Twig
- 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
- 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
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.