{"id":22802609,"url":"https://github.com/omarfawzi/restful-api-starter","last_synced_at":"2026-05-10T02:23:07.520Z","repository":{"id":40680606,"uuid":"482521463","full_name":"omarfawzi/Restful-API-Starter","owner":"omarfawzi","description":"Restful API Starter Project For Laravel","archived":false,"fork":false,"pushed_at":"2022-09-11T09:34:55.000Z","size":13976,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-30T20:16:38.256Z","etag":null,"topics":["api","laravel","openapi","restful-api","starter-project","swagger","template"],"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/omarfawzi.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}},"created_at":"2022-04-17T12:49:16.000Z","updated_at":"2022-07-04T15:02:30.000Z","dependencies_parsed_at":"2023-01-17T17:00:28.299Z","dependency_job_id":null,"html_url":"https://github.com/omarfawzi/Restful-API-Starter","commit_stats":null,"previous_names":[],"tags_count":12,"template":true,"template_full_name":null,"purl":"pkg:github/omarfawzi/Restful-API-Starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omarfawzi%2FRestful-API-Starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omarfawzi%2FRestful-API-Starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omarfawzi%2FRestful-API-Starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omarfawzi%2FRestful-API-Starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/omarfawzi","download_url":"https://codeload.github.com/omarfawzi/Restful-API-Starter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omarfawzi%2FRestful-API-Starter/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261037159,"owners_count":23100933,"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","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","laravel","openapi","restful-api","starter-project","swagger","template"],"created_at":"2024-12-12T09:06:41.687Z","updated_at":"2026-05-10T02:23:02.490Z","avatar_url":"https://github.com/omarfawzi.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Testing](https://github.com/omarfawzi/Restful-API-Starter/actions/workflows/main.yml/badge.svg)](https://github.com/omarfawzi/Restful-API-Starter/actions/workflows/main.yml)\n\n# Restful API Starter\n\n**Avoid** request schema code validation, starter which is integrated with the agnostic open api schema + validation in order to provide the best restful design for your API services, care about your business logic validation, implementation and leave the starter to take care of the rest.  \n\n### Request Life Cycle\n\n![Chart.drawio.png](https://github.com/omarfawzi/Restful-API-Starter/blob/main/Chart.png)\n\n### Requirements\n- PHP \u003e= 8.0\n- MYSQL 8\n- Laravel 9\n\n### Powered By\n- Open API (3.0.2)\n- [OpenAPI PSR-7 Message (HTTP Request/Response) Validator](https://github.com/thephpleague/openapi-psr7-validator)\n\n### Specifications \n\nAdded under `storage/app/schema` ([Live](https://omarfawzi.github.io/Restful-API-Starter/)).\n\n### Routes\n\nRoutes are imported from the open api specifications to provide a more generic way for configuring routes, \nthis also means that accessing any routes not specified in the open api specifications would return an error.\n\nFor more info check `App\\Providers\\RouteServiceProvider::configureRoutes`\n\n### Security\n\nSecurity is done based on the specification as well and handled by the `App\\Modules\\OpenApi\\Services\\AuthenticationManager`\n\n### Get Ready\n- `make rebuild` to rebuild and start services.\n- Install [npm](https://nodejs.org/en/download) for local development.\n- Add your open api specifications (under `storage/app/schema`) and **don't** forget to define an `operationId` for your new operation.\n- Add the new `operationId` and the corresponding `RequestHandler` to the `ApiHandler::MAP` (located at `app/Modules/Api/ApiHandler.php`). \n- `make bundle` to combine and validate your specs.\n- `make swagger-ui` to host your open api specs locally [localhost](http://localhost:8081).\n- `make test` to start running tests.\n\nHave a look over [Makefile](https://github.com/omarfawzi/Restful-API-Starter/blob/main/Makefile) for more options.\n\n### Contributions\n\nFeel free to create Pull Requests.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomarfawzi%2Frestful-api-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fomarfawzi%2Frestful-api-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomarfawzi%2Frestful-api-starter/lists"}