{"id":28766267,"url":"https://github.com/krzbes/php-rest-grpc-api","last_synced_at":"2026-04-16T00:32:01.610Z","repository":{"id":298486435,"uuid":"1000123675","full_name":"krzbes/php-rest-grpc-api","owner":"krzbes","description":"PHP gRPC \u0026 REST API showcasing Domain-Driven Design, Buf schema management, RoadRunner, Doctrine ORM, and Symfony Security—built for my Master’s Thesis.","archived":false,"fork":false,"pushed_at":"2025-06-11T10:09:42.000Z","size":112,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-31T05:18:10.602Z","etag":null,"topics":["grpc","php8","rest-api"],"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/krzbes.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}},"created_at":"2025-06-11T09:49:42.000Z","updated_at":"2025-06-11T10:25:21.000Z","dependencies_parsed_at":"2025-06-11T11:28:11.826Z","dependency_job_id":"529f235c-a3c3-49b7-8eeb-7e3d5c6cd8ae","html_url":"https://github.com/krzbes/php-rest-grpc-api","commit_stats":null,"previous_names":["krzbes/php-rest-grpc-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/krzbes/php-rest-grpc-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krzbes%2Fphp-rest-grpc-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krzbes%2Fphp-rest-grpc-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krzbes%2Fphp-rest-grpc-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krzbes%2Fphp-rest-grpc-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/krzbes","download_url":"https://codeload.github.com/krzbes/php-rest-grpc-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krzbes%2Fphp-rest-grpc-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31866287,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"ssl_error","status_checked_at":"2026-04-15T15:24:39.138Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["grpc","php8","rest-api"],"created_at":"2025-06-17T12:00:34.238Z","updated_at":"2026-04-16T00:32:00.877Z","avatar_url":"https://github.com/krzbes.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Master’s Thesis: gRPC \u0026 REST Testing Project\n\nWelcome to the repository for my **Master’s Thesis Project**, the goal is to compare **gRPC** and **REST** services in **PHP**.\n\n---\n\n## 📖 Overview\n\nThis project presents a dual-protocol API, enabling seamless communication via both gRPC and REST. It was developed as part of my graduate research work to explore performance, reliability, and security aspects of modern service architectures.\n\n---\n\n## 🌟 Key Features\n\n- **Dual Protocol Support**: Test suites for both gRPC and REST endpoints\n- **Domain-Driven Design (DDD)**: Clear separation of business logic through well-defined bounded contexts\n- **Doctrine ORM**: Database interactions managed via Doctrine for flexibility and portability\n- **Buf(gRPC Tooling)**: Protobuf schemas in `/schema` and autogenerated PHP code in `/gen/Schema` via Buf for contract compliance\n- **RoadRunner**: Configured via `.rr.yaml` for a high-performance PHP application server\n- **Symfony Security Core**: Robust authentication \u0026 authorization mechanisms for secure API access\n- **Containerized Setup**: Docker Compose (`docker-compose.yaml`) orchestrates database services\n- **Environment Management**: Configurable via `.env.example` for environment variable setup\n\n---\n\n## ⚙️ Technologies\n\n- PHP 8.x\n- Symfony Framework\n- Doctrine ORM\n- RoadRunner\n- Buf (gRPC tooling)\n- PHPUnit \u0026 Pest for testing\n- GitHub Actions for CI/CD\n\n---\n\n## 🚀 Getting Started\n\n1. **Clone the repo**:\n\n   ```bash\n   git clone https://github.com/krzbes/php-rest-grpc-api.git\n   cd php-rest-grpc-api\n   ```\n\n2. **Install dependencies**:\n\n   ```bash\n   composer install\n   ```\n\n3. **Configure environment**: Copy `.env.example` to `.env` and adjust database and gRPC endpoint settings\n\nThank you for checking out my thesis project!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrzbes%2Fphp-rest-grpc-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkrzbes%2Fphp-rest-grpc-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrzbes%2Fphp-rest-grpc-api/lists"}