Skip to content
View BenMacha's full-sized avatar
πŸ›€
i will either find a way or make one
πŸ›€
i will either find a way or make one

Block or report BenMacha

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
BenMacha/README.md

πŸ‘‹ Hello, I'm Ben Macha (BEN MECHA)! πŸ‡΅πŸ‡Έ | ❀️ Open Source

I'm a Full Stack Developer passionate about web and mobile development, specializing in Symfony, React, and Vue.js. I have strong experience in software architecture and technical leadership. πŸš€

🏒 Organizations & Projects

Organizations and projects: Pepprio (restaurant order management, github.com/pepprio, pepprio.com), Pignelle (tools for real estate agencies, github.com/Pignelle, pignelle.com), BenMacha (personal workshop, github.com/BenMacha, benmacha.tn)

Pepprio Β· pepprio.com β€” Pignelle Β· pignelle.com β€” BenMacha Β· benmacha.tn

πŸ› οΈ Tech Stack & Skills

Tech stack. Backend: PHP, Symfony, Laravel, Node.js, Python, API Platform, PHPUnit, Codeception. Frontend: React, Next.js, Vue.js, Nuxt.js, JavaScript, Tailwind CSS, Ionic, Capacitor, Flutter, Cypress. DevOps & Tools: Docker, Traefik, Jenkins, Postfix, GitHub Actions, Linux, Nginx, Apache. Database: MySQL, Redis, MariaDB. IDE & Development: PhpStorm, VS Code, Git, GitHub.

πŸ“¦ Packages

Packages on Packagist: benmacha/diagram-bundle, Interactive Doctrine entity diagram for Symfony: JSON API + React studio usable from Twig, plain JS, React and Vue; benmacha/mousetracker, Self-hosted mouse, click and scroll tracker for Symfony: heatmaps, scroll maps and session replay. React dashboard usable from Twig, plain JS, React and Vue; benmacha/audit-bundle, A comprehensive Symfony bundle for auditing entity changes with rollback functionality, web interface, and REST API; benmacha/templatebundle, Symfony Template Bundle

diagram-bundle Β· mousetracker Β· audit-bundle Β· templatebundle Β· all on Packagist

Also: authx-bundle (JWT, OpenID Connect, user management and audit logging for Symfony), omnimail-mcp (open source multi-account mail MCP server: iCloud, Gmail, Outlook, Yahoo, Proton, Infomaniak, IMAP), and the Uber Eats PHP SDK, now maintained as pepprio/uber-eats-sdk-php.

🀝 Open Source Contributions

Open source pull request line: pull requests reviewed, merged or under review

Open source card index: one drawer per contributed project, one card per pull request, green tab merged, red tab under review

17 merged pull requests so far, updated hourly.

Merged (16):

  • #67723 Security: Do not request a re-authentication that cannot prove a recent authentication
  • #67722 Messenger: Ignore ids that are not integers when finding a message of the Doctrine transport
  • #67712 Messenger: Stop keeping alive the messages that a listener prevents the worker from handling
  • #67711 Messenger: Do not resend the stamp headers of a received AMQP message
  • #67710 Messenger: Do not expose the Redis DSN in the invalid host query parameter exception
  • #67709 Messenger: Restore the schema assets filter when the Doctrine transport setup fails
  • #67708 Security: Ignore target and failure paths that are neither paths nor absolute URLs
  • #67707 Security: Reject login links with an out of range "expires" parameter
  • #67706 Security: Reject remember-me cookies with an invalid expiration time
  • #67705 RateLimiter: Validate the refill amount, the fixed window interval and the sliding window limit
  • #67704 Cache: Fix the SQL of PdoTagAwareAdapter on MySQL, PostgreSQL, Oracle and SQL Server
  • #67703 Cache: Honor the $save flag set by the callback in EarlyExpirationHandler
  • #67702 Form: Fix submitting "0" to a non-compound root form
  • #67701 Form: Fix the post_max_size check when it is set to a negative value
  • #67700 Form: Ignore collection entries with invalid names when allow_add is enabled
  • #67699 Form: Validate the collection entries that keep_as_list doesn't need to renumber

Under review (9):

  • #8783 laravel: filter on every value given to EqualsFilter
  • #8782 laravel: purge the HTTP cache on GraphQL mutations
  • #8781 laravel: ignore non-string values in search filters
  • #8780 serializer: unwrap the collection key type, not the collection type
  • #8779 state: reject invalid GraphQL pagination cursors
  • #8778 serializer: reject a non-string id in JSON-LD and JSON:API relations
  • #8777 doctrine: left join collection associations in IriFilter inside OR groups
  • #8776 doctrine: reject too large pages with ODM partial pagination
  • #8775 doctrine: ignore nested array values in range and search filters

Under review (2):

  • #3024 validate the --symfony-docker-ref value
  • #3023 print the release version

Under review (8):

  • #8323 logging: close the redialed conn when writing to it fails
  • #8322 fileserver: handle empty files in size try policies
  • #8321 fastcgi: skip params whose name cannot fit in a record
  • #8320 reverseproxy: skip unavailable upstream with a single weighted_round_robin weight
  • #8319 caddyhttp: keep placeholder names intact in path matcher
  • #8318 reverseproxy: close upstream body when handle_response status is invalid
  • #8317 admin: authorize remote requests matching any permission entry
  • #8316 caddyfile: reject negative import argument indices

Ting (CCM Benchmark ORM)

  • #120 reported an SQL injection in the PostgreSQL driver, fixed upstream in 4.1.1

Under review (3):

  • #137 ci: fix the lowest-deps job, add PHP 8.5, composer audit, Dependabot, issue template and security policy
  • #136 security: escape SQL identifiers, validate order keys, quote the Pgsql DSN and check timezones
  • #123 Fix #122: Missing Return Statement in PostgreSQL Driver

Merged (1):

  • #18 add enum filter

A professional multilingual portfolio built with Vue.js 3, TypeScript, and Tailwind CSS showcasing my work and experience.

πŸ“ˆ GitHub Stats

GitHub stats: the contribution calendar of the last 52 weeks as an isometric plate of blocks, counters and top languages

πŸ“ Contact

πŸš€ Let's build something amazing together!

Pinned Loading

  1. diagram-bundle diagram-bundle Public

    Interactive Doctrine ERD for Symfony 5.4–7.x: entity-relationship diagram of every entity manager, JSON API + React studio (Twig, React, Vue, Web Component), SVG/PNG/JDL export.

    JavaScript 4

  2. mouseTracker mouseTracker Public

    Self-hosted heatmaps, scroll maps and session replay for Symfony 5.4–7.x β€” open source Hotjar / Clarity alternative. React, Vue & Web Component dashboard, zero-code recorder.

    JavaScript 2 1

  3. Templatebundle Templatebundle Public

    HTML 2

  4. benmacha.github.io benmacha.github.io Public

    HTML

  5. ubereat-php ubereat-php Public archive

    [ARCHIVED] DΓ©placΓ© vers pepprio/uber-eats-sdk-php β€” ce SDK n'est plus maintenu, utilisez pepprio/uber-eats-sdk-php.

    PHP 3 1

  6. ccmbenchmark/ting_api_platform ccmbenchmark/ting_api_platform Public

    Api platform bridge for Ting

    PHP 4