{"id":19078260,"url":"https://github.com/petronetto/no-framework","last_synced_at":"2026-05-07T14:44:41.700Z","repository":{"id":76827447,"uuid":"126782956","full_name":"petronetto/no-framework","owner":"petronetto","description":"A simple PHP RESTFul API build for study reasons","archived":false,"fork":false,"pushed_at":"2019-09-19T14:00:09.000Z","size":103,"stargazers_count":1,"open_issues_count":0,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-22T05:25:35.365Z","etag":null,"topics":["composer","dependency-injection","design-patterns","docker","no-frameworks","php","php7","psr-15","psr-7","restuful-api"],"latest_commit_sha":null,"homepage":"http://petronetto.dev","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/petronetto.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}},"created_at":"2018-03-26T06:25:29.000Z","updated_at":"2022-02-06T01:04:04.000Z","dependencies_parsed_at":"2023-03-01T06:45:18.044Z","dependency_job_id":null,"html_url":"https://github.com/petronetto/no-framework","commit_stats":{"total_commits":4,"total_committers":1,"mean_commits":4.0,"dds":0.0,"last_synced_commit":"54bf1a1e79f1b15018c6527709026d00215aa380"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/petronetto/no-framework","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petronetto%2Fno-framework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petronetto%2Fno-framework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petronetto%2Fno-framework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petronetto%2Fno-framework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/petronetto","download_url":"https://codeload.github.com/petronetto/no-framework/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petronetto%2Fno-framework/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279522184,"owners_count":26184476,"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-10-18T02:00:06.492Z","response_time":62,"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":["composer","dependency-injection","design-patterns","docker","no-frameworks","php","php7","psr-15","psr-7","restuful-api"],"created_at":"2024-11-09T02:07:53.094Z","updated_at":"2025-10-18T11:38:05.061Z","avatar_url":"https://github.com/petronetto.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"```\n  _   _         ______                                           _    \n | \\ | |       |  ____|                                         | |   \n |  \\| | ___   | |__ _ __ __ _ _ __ ___   _____      _____  _ __| | __\n | . ` |/ _ \\  |  __| '__/ _` | '_ ` _ \\ / _ \\ \\ /\\ / / _ \\| '__| |/ /\n | |\\  | (_) | | |  | | | (_| | | | | | |  __/\\ V  V / (_) | |  |   \u003c \n |_| \\_|\\___/  |_|  |_|  \\__,_|_| |_| |_|\\___| \\_/\\_/ \\___/|_|  |_|\\_\\\n\n```\n\n\u003e This is just for study case, use by your own risk!!!\n\n# TL;DR\n\nRun `./nofw init` to build the application 🚀\n\n\n## API Architecture\n\nI used the follow packages to compose the API:\n* [Zend Diactoros](https://github.com/zendframework/zend-diactoros) A PSR-7 HTTP Message implementation\n* [Zend Stratigility](https://github.com/zendframework/zend-stratigility) A PSR-7 middleware foundation for building and dispatching middleware pipelines\n* [PHP-DI](https://github.com/PHP-DI/PHP-DI) A container for dependency injection\n* [FastRoute](https://github.com/nikic/FastRoute) A request router\n* [Illuminate Database](https://github.com/illuminate/database) An activeRecord style ORM, and schema builder\n* [Phinx](https://github.com/cakephp/phinx) Tool to migrate and seed the database\n* [Respect Validation](https://github.com/Respect/Validation) A validation engine to validate incoming requests\n* [Illuminate Pagination](https://github.com/illuminate/pagination) An component to paginate the ORM results\n* [League Fractal](https://github.com/thephpleague/fractal) Helps to output complex RESTful data structures\n* [Monolog](https://github.com/Seldaek/monolog) A simple logger to the API\n* [Lcobucci JWT](https://github.com/lcobucci/jwt) Provide a JWT implementation\n* [Predis](https://github.com/nrk/predis) PHP Redis client\n\nFor dev:\n* [PHPUnit](https://github.com/sebastianbergmann/phpunit) Unit tests\n* [PHPUnit Pretty Result Printer](https://github.com/mikeerickson/phpunit-pretty-result-printer) A pretty printer for PHPUnit\n* [Mockery](https://github.com/mockery/mockery) PHP mock object framework for use in unit testing with PHPUnit\n* [Behat](https://github.com/behat/behat) A BDD framework\n* [Guzzle](https://github.com/guzzle/guzzle) A HTTP client to make request in BDD tests\n* [Faker](https://github.com/fzaninotto/Faker) Generates fake data for dev environment and unit tests\n* [Swagger PHP](https://github.com/zircote/swagger-php) A PHP swagger annotation and parsing library\n* [PHP CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer) A tool ensure the coding standards\n* [PHP-CS-Fixer](https://github.com/FriendsOfPHP/PHP-CS-Fixer) A tool to automatically fix PHP coding standards issues\n* [Symfony VarDumper](https://github.com/symfony/var-dumper) Provides a better dump() function\n\n\n## Running the application\n\nI create a utility tool for command line, run the application simply run `./nofw init`.\nRun `./nofw` to see another options.\n\n\n## Documentation\n\nThe application ships with [Swagger](https://swagger.io/) docs, go to [ttp://localhost:4000](ttp://localhost:4000) to see.\nSome endpoints require authentication, go to the [http://localhost:4000/#/auth/post_auth](http://localhost:4000/#/auth/post_auth) and send the request to get the JWT token, now click in button `Authorize` in right superior corner, and put the token there.\n\n\n## Quality Assurance\n\nThe application already ships with a simple container of [SonarQube](https://www.sonarqube.org/), to see the application stats, first you need run the Unit tests in order to generate the coverage, simply run `./nofw tests`, after the tests finish, run `./nofw sonar-runner`, now go to the [http://localhost:9000/dashboard?id=App](http://localhost:9000/dashboard?id=App).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpetronetto%2Fno-framework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpetronetto%2Fno-framework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpetronetto%2Fno-framework/lists"}