Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
View ahmed-bhs's full-sized avatar
👽
👽

Block or report ahmed-bhs

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.

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
ahmed-bhs/README.md

Hey there

I'm Ahmed, a software engineer focused on building reliable web applications with PHP, Symfony, API Platform, clean architecture, and pragmatic engineering practices.

{
  "Ahmed": {
    "role": "Software Engineer",
    "profile": {
      "summary": "I build reliable, maintainable web applications with a strong focus on architecture, quality, security, and production constraints.",
      "mindset": [
        "Pragmatic engineering",
        "Clean architecture",
        "Hexagonal architecture",
        "Domain-Driven Design",
        "Maintainable code",
        "Security-first thinking",
        "Robust production delivery"
      ]
    },
    "what_i_work_on": {
      "description": "I design and build scalable web applications, with a strong attention to maintainability, domain boundaries, automated checks, and production constraints. I particularly like **hexagonal architecture** and **Domain-Driven Design** when they help make the business model clearer.",
      "principles": [
        "Code that is easy to reason about",
        "Code that respects domain boundaries",
        "Code shaped by hexagonal architecture and DDD when the domain calls for it",
        "Code that is easy to test",
        "Applications robust enough to survive real usage"
      ],
      "day_to_day": [
        "PHP",
        "Symfony",
        "API Platform",
        "Asynchronous processing",
        "Search engines",
        "CI/CD workflows",
        "Technical audits",
        "Quality audits",
        "Security audits",
        "Performance audits"
      ]
    },
    "open_source": {
      "api_platform": {
        "role": "Active contributor",
        "url": "https://api-platform.com/community/contributors/ahmed-bhs/"
      },
      "symfony": {
        "role": "Contributor to features and documentation",
        "profile": "https://connect.symfony.com/profile/famas23"
      }
    },
    "projects": {
      "doctrine_doctor": {
        "name": "Doctrine Doctor",
        "focus": "Doctrine and Symfony tooling for detecting ORM issues and improving persistence-layer quality",
        "topics": [
          "Doctrine ORM",
          "Symfony",
          "Static analysis",
          "Performance",
          "Developer experience"
        ],
        "repository": "https://github.com/ahmed-bhs/doctrine-doctor"
      },
      "pyra": {
        "name": "Pyra",
        "focus": "Project maintained by Ahmed around pragmatic tooling and software quality",
        "topics": [
          "Tooling",
          "Automation",
          "Software quality"
        ],
        "repository": "https://github.com/ahmed-bhs/pyra"
      }
    },
    "stack": {
      "back_end": [
        "PHP",
        "Symfony",
        "API Platform",
        "eZ Platform",
        "Async queuing"
      ],
      "front_end": [
        "HTML5",
        "CSS3",
        "jQuery",
        "Angular",
        "Bootstrap"
      ],
      "search": [
        "Elasticsearch",
        "Solr"
      ],
      "practices": [
        "SOLID",
        "DRY",
        "KISS",
        "YAGNI",
        "Separation of Concerns",
        "Design patterns",
        "Clean architecture",
        "Hexagonal architecture",
        "Domain-Driven Design",
        "CI/CD",
        "Audits"
      ]
    },
    "engineering_principles": {
      "code_design": [
        "SOLID principles",
        "SRP - Single Responsibility Principle",
        "OCP - Open/Closed Principle",
        "LSP - Liskov Substitution Principle",
        "ISP - Interface Segregation Principle",
        "DIP - Dependency Inversion Principle",
        "DRY - Don't Repeat Yourself",
        "KISS - Keep It Simple",
        "YAGNI - You Aren't Gonna Need It",
        "Separation of Concerns",
        "Composition over inheritance",
        "High cohesion and low coupling",
        "Program to an interface, not an implementation",
        "Interface-driven design",
        "Explicit boundaries",
        "Tell, Don't Ask",
        "Law of Demeter",
        "Fail fast",
        "Principle of least astonishment",
        "Information hiding",
        "Encapsulation",
        "Prefer immutability for value objects",
        "Avoid temporal coupling",
        "Avoid primitive obsession",
        "Make dependencies explicit"
      ],
      "architecture": [
        "Clean architecture",
        "Hexagonal architecture",
        "Domain-Driven Design",
        "Layered architecture when it fits",
        "Ports and adapters",
        "Dependency inversion",
        "Dependency rule",
        "Stable dependencies principle",
        "Stable abstractions principle",
        "Acyclic dependencies principle",
        "Bounded contexts",
        "Ubiquitous language",
        "CQRS when the problem justifies it"
      ],
      "quality": [
        "Testing pyramid",
        "Fast feedback loops",
        "Automated checks",
        "Static analysis",
        "Code reviews",
        "Refactoring discipline",
        "Observability",
        "Performance awareness",
        "Security by design"
      ],
      "maintainability": [
        "Reduce cognitive load",
        "Prefer readability over cleverness",
        "Make invalid states hard to represent",
        "Use clear naming",
        "Keep business rules close to the domain",
        "Avoid accidental complexity",
        "Document decisions, not obvious code"
      ]
    },
    "patterns": {
      "creational": [
        "Factory Method",
        "Abstract Factory",
        "Builder",
        "Prototype",
        "Singleton when framework-managed and justified"
      ],
      "structural": [
        "Adapter",
        "Bridge",
        "Composite",
        "Decorator",
        "Facade",
        "Proxy",
        "Data Transfer Object"
      ],
      "behavioral": [
        "Strategy",
        "Command",
        "Observer",
        "Mediator",
        "State",
        "Specification",
        "Template Method",
        "Chain of Responsibility",
        "Iterator",
        "Null Object"
      ],
      "enterprise_application": [
        "Repository",
        "Service Layer",
        "Application Service",
        "Domain Service",
        "Unit of Work",
        "Data Mapper",
        "Identity Map",
        "Value Object",
        "Aggregate",
        "Domain Event",
        "CQRS",
        "Event Dispatcher"
      ],
      "php_and_symfony": [
        "DTO",
        "ArrayIterator",
        "ArrayAccess",
        "Accessor",
        "Normalizer",
        "Serializer",
        "Form Type",
        "Event Subscriber",
        "Event Listener",
        "Compiler Pass",
        "Service Decorator",
        "Message Handler",
        "Voter",
        "Constraint Validator"
      ],
      "testing": [
        "Test Double",
        "Mock",
        "Stub",
        "Fake",
        "Fixture",
        "Mother Object",
        "Builder for tests"
      ]
    },
    "certifications": [
      "Certified Symfony Developer",
      "Certified eZ Platform Developer"
    ],
    "security": {
      "platform": "Root Me",
      "profile": "https://www.root-me.org/ahmed-36606",
      "interest": "Cybersecurity challenges and security-aware development"
    },
    "connect": {
      "github": "https://github.com/ahmed-bhs",
      "twitter": "https://twitter.com/AhmedEHASSINE"
    }
  }
}

Never Gonna Give You Up Heart

Popular repositories Loading

  1. doctrine-doctor doctrine-doctor Public

    🩺⚡ Runtime Doctrine ORM analysis integrated into Symfony Web Profiler. Detect N+1 queries, security vulnerabilities, and performance issues during query execution.

    PHP 92 7

  2. hexagonal-maker-bundle hexagonal-maker-bundle Public

    🏗️ Complete Symfony Maker bundle for generating Hexagonal Architecture (Ports & Adapters) with CQRS, pure domain entities, and YAML mapping

    PHP 8 2

  3. angular-symfony-elasticsearch-authentication-demo angular-symfony-elasticsearch-authentication-demo Public

    authentication+list-articles

    TypeScript 4 1

  4. symfony-hexagonal-architecture-demo symfony-hexagonal-architecture-demo Public

    🏗️ Complete Hexagonal Architecture demonstration with Symfony 7 - CQRS, DDD, Ports & Adapters - Modern and responsive UI

    PHP 2 1

  5. APYDataGridBundle APYDataGridBundle Public

    Forked from APY/APYDataGridBundle

    Symfony Datagrid Bundle

    PHP 1

  6. angular2app angular2app Public

    TypeScript 1

Morty Proxy This is a proxified and sanitized view of the page, visit original site.