{"id":51844069,"url":"https://github.com/johnyse99/nexus-logistics-core-api","last_synced_at":"2026-07-23T10:00:52.074Z","repository":{"id":332044285,"uuid":"1132545185","full_name":"johnyse99/Nexus-Logistics-Core-API","owner":"johnyse99","description":"Nexus Logistics Core is a robust, modular API for managing industrial logistics, built with **Symfony 6.4**, **PHP 8.3**, and strictly following **Hexagonal Architecture (Ports \u0026 Adapters)** and **CQRS** (Command Query Responsibility Segregation) principles.","archived":false,"fork":false,"pushed_at":"2026-01-12T06:50:41.000Z","size":126,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-12T15:46:06.720Z","etag":null,"topics":["api-rest","backend","cqrs","ddd","docker","doctrine-orm","hexagonal-architecture","logistics","php","postgresql","redis","symfony"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/johnyse99.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2026-01-12T05:37:03.000Z","updated_at":"2026-01-12T06:57:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"4496dfeb-2886-46dd-9ba2-c7112f170a11","html_url":"https://github.com/johnyse99/Nexus-Logistics-Core-API","commit_stats":null,"previous_names":["johnyse99/nexus-logistics-core-api"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/johnyse99/Nexus-Logistics-Core-API","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnyse99%2FNexus-Logistics-Core-API","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnyse99%2FNexus-Logistics-Core-API/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnyse99%2FNexus-Logistics-Core-API/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnyse99%2FNexus-Logistics-Core-API/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johnyse99","download_url":"https://codeload.github.com/johnyse99/Nexus-Logistics-Core-API/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnyse99%2FNexus-Logistics-Core-API/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35798804,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-23T02:00:06.683Z","response_time":57,"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":["api-rest","backend","cqrs","ddd","docker","doctrine-orm","hexagonal-architecture","logistics","php","postgresql","redis","symfony"],"created_at":"2026-07-23T10:00:37.739Z","updated_at":"2026-07-23T10:00:52.052Z","avatar_url":"https://github.com/johnyse99.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nexus Logistics Core API\n\n## Overview\n\nNexus Logistics Core is a robust, modular API for managing industrial logistics, built with **Symfony 6.4**, **PHP 8.3**, and strictly following **Hexagonal Architecture (Ports \u0026 Adapters)** and **CQRS** (Command Query Responsibility Segregation) principles.\n\n\u003cimg width=\"1914\" height=\"888\" alt=\"preview\" src=\"https://github.com/user-attachments/assets/2f195791-32ba-44ee-add0-faf76a63349d\" /\u003e\n\n\n## Features\n\n- **Strict Hexagonal Architecture**: Separation of Domain, Application, and Infrastructure layers.\n- **CQRS Pattern**: Distinct Command, Query, and Event buses using Symfony Messenger.\n- **Rich Domain Model**: Use of Value Objects (`ShippingId`, `Weight`) and Domain Events.\n- **Asynchronous Processing**: Ready for async event handling (e.g., Audit Logging).\n- **OpenAPI / Swagger UI**: Fully documented API endpoints.\n\n## Tech Stack\n\n- **Framework**: Symfony 6.4\n- **Language**: PHP 8.3\n- **Database**: PostgreSQL 16\n- **Queue/Cache**: Redis\n- **ORM**: Doctrine (with custom Types)\n- **Containerization**: Docker \u0026 Docker Compose\n\n## Project Structure\n\n```\nsrc/\n├── Shipping/\n│   ├── Application/    # Use Cases (Commands, Queries, Handlers)\n│   ├── Domain/         # Entities, Value Objects, Repository Interfaces\n│   └── Infrastructure/ # Controllers, Persistence (Doctrine)\n├── shared/             # Shared Kernel (Bus Interfaces, Base Classes)\n└── Audit/              # Audit Subdomain (Event Listeners)\n```\n\n## Getting Started\n\n### Prerequisites\n\n- Docker \u0026 Docker Compose\n\n### Installation\n\n1. **Clone the repository**\n2. **Start the containers**:\n   ```bash\n   docker-compose up -d --build\n   ```\n3. **Run Migrations**:\n   ```bash\n   docker-compose exec app php bin/console doctrine:migrations:migrate\n   ```\n\n### API Documentation\n\nAccess the Swagger UI at:\n**http://localhost:8000/api/doc**\n\n### Available Endpoints\n\n- `POST /api/v1/shipping/orders`: Create a new shipping order.\n- `GET /api/v1/shipping/orders/{id}`: Retrieve order details.\n- `POST /api/v1/shipping/orders/{id}/assign`: Assign a carrier to an order.\n- `POST /api/v1/shipping/orders/{id}/cancel`: Cancel an order.\n\n## Architecture Highlights\n\n- **Command Bus**: handles state changes (Create, Assign, Cancel).\n- **Query Bus**: handles reads (Get Order), returning clean DTOs.\n- **Event Bus**: decouples side effects (e.g., Audit Logging listens to `ShippingOrderCreatedEvent` and `ShippingOrderCancelledEvent`).\n- **Value Objects**: Validations (e.g., Weight limits, UUID formats) are encapsulated in the domain.\n\n---\n\n📄 **License**\nThis project is distributed under the MIT license. Its purpose is strictly educational and research-based, developed as an modular API for managing logistics solution.\n\n**Note for recruiters:**\nThis project demonstrates my ability to design and implement complex systems using professional standards. It highlights my mastery of transactional integrity, clean architecture, and the development of resilient software capable of handling real-world failure scenarios.\n\n**Author:** JUAN S.  \n**Contact:** https://github.com/johnyse99\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnyse99%2Fnexus-logistics-core-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohnyse99%2Fnexus-logistics-core-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnyse99%2Fnexus-logistics-core-api/lists"}