{"id":15022844,"url":"https://github.com/azhovan/interview-kit","last_synced_at":"2026-01-19T08:31:56.889Z","repository":{"id":38166416,"uuid":"243261461","full_name":"Azhovan/interview-kit","owner":"Azhovan","description":"PHP Interview boilerplate kit","archived":false,"fork":false,"pushed_at":"2023-04-19T21:19:28.000Z","size":212,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-02-13T19:45:16.569Z","etag":null,"topics":["controller","docker","environment-variables","interview","interviews","migrations","orm","php7","phpunit","router"],"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/Azhovan.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}},"created_at":"2020-02-26T12:50:06.000Z","updated_at":"2022-05-12T06:04:36.000Z","dependencies_parsed_at":"2023-02-17T18:35:13.991Z","dependency_job_id":"59cf08fb-eb3d-4447-b4b0-370e30462163","html_url":"https://github.com/Azhovan/interview-kit","commit_stats":{"total_commits":17,"total_committers":4,"mean_commits":4.25,"dds":"0.47058823529411764","last_synced_commit":"39edcd8005f345912d4c536796fca5d038e2ab0f"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azhovan%2Finterview-kit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azhovan%2Finterview-kit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azhovan%2Finterview-kit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azhovan%2Finterview-kit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Azhovan","download_url":"https://codeload.github.com/Azhovan/interview-kit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247699615,"owners_count":20981578,"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":["controller","docker","environment-variables","interview","interviews","migrations","orm","php7","phpunit","router"],"created_at":"2024-09-24T19:58:26.822Z","updated_at":"2026-01-19T08:31:56.883Z","avatar_url":"https://github.com/Azhovan.png","language":"PHP","readme":"## PHP Interview boilerplate kit\nThis package helps you to speed up your development if you have been given a technical assignment.\n\nKit features:\n- PHPUnit \n- Laravel ORM and Migrations  (default database is SQLite)\n- Laravel Routings\n- Laravel Controllers and validators\n- Guzzle Http client\n- Fractal\n- PHP dotenv\n\n    \n### Application configuration\nThis app is using `.env` file to define it's configurations. you can find it in the root of the project.\n```bash\nAPP_URI=localhost:8000 # used to run integration tests suite, this should be same for application\nDB_CONNECTION= #sqlite or mysql\nDB_HOST=localhost\nDB_DATABASE=\nDB_USERNAME=\nDB_PASSWORD=\nDB_PORT=3306\n```\n### Run Application `(With Docker)`\nMake sure you have Docker installed. all configurations (dockerfile, nginx) are located inside of `build/` folder.\nAlso you can find `docker-composer.yaml` in root of the project. you may run below commands to up and run your application\n\n- `docker-compose build \u0026\u0026 docker-compose up -d` \n- `docker exec -it project-php-fpm bash -c \"composer install \u0026\u0026 composer dump-autoload -o\"` \n\n### Run tests `(integration \u0026 unit)`\nTo run integration tests, first make sure you have run above commands to boot the app first, then run ` vendor/bin/phpunit tests`.\nwhich runs both `unit` and `integration` tests.\n\n### Dependency Injection \nIf you want to take advantage of dependency injection, you may define an array of dependencies\nas below in `bootstrap/providers.php`\n```php\n$providers = [\n    'Foo' =\u003e Foo::class,\n    'Bar' =\u003e Bar::class\n];\n```\nby now whenever you need a dependency, you can inject it as a parameter.\n\n### Migrations\nYou may define your database table structures in `database/migrations` directory. Just like laravel\nif your migration class name is `AddUsersTable` the corresponding file name would be `add_users_table`.\n\n#### Run migrations\nYou may run all your migrations by run `composer migrate` command.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazhovan%2Finterview-kit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fazhovan%2Finterview-kit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazhovan%2Finterview-kit/lists"}