{"id":25747769,"url":"https://github.com/jorge-ivan/user-manager-with-ddd","last_synced_at":"2026-05-16T08:04:17.190Z","repository":{"id":279355694,"uuid":"938539186","full_name":"Jorge-Ivan/user-manager-with-ddd","owner":"Jorge-Ivan","description":"Esta es una aplicación PHP desarrollada siguiendo los principios de Domain-Driven Design (DDD) y Ports \u0026 Adapters.","archived":false,"fork":false,"pushed_at":"2025-02-25T05:59:29.000Z","size":0,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-25T06:28:20.571Z","etag":null,"topics":["ddd","ddd-architecture","php","phpunit"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Jorge-Ivan.png","metadata":{"files":{"readme":"ReadMe.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-25T05:40:33.000Z","updated_at":"2025-02-25T05:59:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"7b7e28ae-7d7c-4eb0-b7e0-1522b7b0721b","html_url":"https://github.com/Jorge-Ivan/user-manager-with-ddd","commit_stats":null,"previous_names":["jorge-ivan/user-manager-with-ddd"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/Jorge-Ivan/user-manager-with-ddd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jorge-Ivan%2Fuser-manager-with-ddd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jorge-Ivan%2Fuser-manager-with-ddd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jorge-Ivan%2Fuser-manager-with-ddd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jorge-Ivan%2Fuser-manager-with-ddd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jorge-Ivan","download_url":"https://codeload.github.com/Jorge-Ivan/user-manager-with-ddd/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jorge-Ivan%2Fuser-manager-with-ddd/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275260465,"owners_count":25433378,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-15T02:00:09.272Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ddd","ddd-architecture","php","phpunit"],"created_at":"2025-02-26T12:17:43.372Z","updated_at":"2026-05-16T08:04:11.657Z","avatar_url":"https://github.com/Jorge-Ivan.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Aplicación PHP: Registro de Usuarios\n\nEsta es una aplicación PHP desarrollada siguiendo los principios de **Domain-Driven Design (DDD)** y **Ports \u0026 Adapters**. La aplicación permite registrar usuarios, validar sus datos y persistirlos en una base de datos MySQL utilizando **Doctrine** como ORM. Además, se incluyen pruebas unitarias y de integración con **PHPUnit**, y el entorno se puede desplegar fácilmente usando **Docker**.\n\n## Requisitos\n\n- Docker\n- Docker Compose\n- PHP 8.1 o superior\n- Composer\n\n## Instalación\n\n1. Clona el repositorio\n\n    ```sh\n    git clone https://github.com/Jorge-Ivan/user-manager-with-ddd.git\n    cd user-manager-with-ddd\n    ```\n\n2. Iniciar el Entorno con Docker\n\n    ```sh\n    make setup\n    ```\n    Este comando hará lo siguiente:\n\n    - Levantar los servicios de PHP y MySQL.\n    - Instalar las dependencias de Composer.\n\n3. Acceder al Contenedor de PHP\n\n    ```sh\n    make bash\n    ```\n\n4. Ejecutar las Migraciones (Opcional)\n\n    ```sh\n    make migrate\n    ```\n\n5. Ejecutar las Pruebas\n\n    ```sh\n    make test\n    ```\n\n6. Acceder a la Aplicación\n\n    La aplicación estará disponible en **http://localhost:9000** (si el contenedor se compilo y ejecuto correctamente).\n\n    - **Registro de usuarios**\n\n        ```POST /api/register```\n\n        Body ```application/json```:\n        ```json copy\n        {\n            \"name\": \"John Doe\",\n            \"email\": \"john@example.com\",\n            \"password\": \"Str0ngP@ss!\"\n        }\n        ```\n\n7. Apagar contenedor\n\n    ```sh\n    make down\n    ```\n\n## Configuración de Docker\nEl archivo ```docker-compose.yml``` define dos servicios:\n\n1. php: Contenedor con PHP, Composer y Doctrine.\n2. mysql: Contenedor con MySQL en el puerto (3307) y adminer para gestionar la base de datos en **http://localhost:8080**.\n\n## Dependencias\nLas dependencias principales incluyen:\n\n- Doctrine: Para la gestión de la base de datos.\n- PHPUnit: Para pruebas automatizadas.\n- Symfony HTTP Foundation: Para manejo de solicitudes y respuestas HTTP.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjorge-ivan%2Fuser-manager-with-ddd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjorge-ivan%2Fuser-manager-with-ddd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjorge-ivan%2Fuser-manager-with-ddd/lists"}