{"id":22702178,"url":"https://github.com/atnic/lumen-generator","last_synced_at":"2025-03-29T19:26:45.808Z","repository":{"id":62489294,"uuid":"190929862","full_name":"Atnic/lumen-generator","owner":"Atnic","description":"Lumen Generator","archived":false,"fork":false,"pushed_at":"2019-06-08T21:01:21.000Z","size":68,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"develop","last_synced_at":"2025-02-04T20:18:34.201Z","etag":null,"topics":["generator","lumen"],"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/Atnic.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":"2019-06-08T20:02:49.000Z","updated_at":"2020-07-05T18:38:56.000Z","dependencies_parsed_at":"2022-11-02T09:31:15.345Z","dependency_job_id":null,"html_url":"https://github.com/Atnic/lumen-generator","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Atnic%2Flumen-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Atnic%2Flumen-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Atnic%2Flumen-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Atnic%2Flumen-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Atnic","download_url":"https://codeload.github.com/Atnic/lumen-generator/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246233068,"owners_count":20744771,"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":["generator","lumen"],"created_at":"2024-12-10T07:12:28.847Z","updated_at":"2025-03-29T19:26:45.782Z","avatar_url":"https://github.com/Atnic.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lumen Generator\n\n[![Latest Stable Version](https://poser.pugx.org/atnic/lumen-generator/v/stable)](https://packagist.org/packages/atnic/lumen-generator)\n[![Total Downloads](https://poser.pugx.org/atnic/lumen-generator/downloads)](https://packagist.org/packages/atnic/lumen-generator)\n[![Latest Unstable Version](https://poser.pugx.org/atnic/lumen-generator/v/unstable)](https://packagist.org/packages/atnic/lumen-generator)\n[![License](https://poser.pugx.org/atnic/lumen-generator/license)](https://packagist.org/packages/atnic/lumen-generator)\n[![Monthly Downloads](https://poser.pugx.org/atnic/lumen-generator/d/monthly)](https://packagist.org/packages/atnic/lumen-generator)\n[![Daily Downloads](https://poser.pugx.org/atnic/lumen-generator/d/daily)](https://packagist.org/packages/atnic/lumen-generator)\n\n## Requirement\n- php: \u003e=7.1.3,\n- [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit): ^7.0\n\n## Installation\nEdit `composer.json`\n```json\n{\n  \"require\": {\n    \"atnic/lumen-generator\": \"^0.1\"\n  },\n  \"require-dev\": {\n    \"phpunit/phpunit\": \"^7.0\"\n  }\n}\n```\n\nThen run `composer update`. After that do this initial steps:\n- [x] Setup your `.env` file.\n- [x] In `app/User.php`, add `api_token` in `$hidden` property.\n- [x] In `bootstrap/app.php`, uncomment and add some lines\n  ```php\n  ...\n  $app-\u003ewithFacades();\n  \n  $app-\u003ewithEloquent();\n  ...\n  $app-\u003erouteMiddleware([\n      'auth' =\u003e App\\Http\\Middleware\\Authenticate::class,\n  ]);\n  ...\n  $app-\u003eregister(App\\Providers\\AppServiceProvider::class);\n  $app-\u003eregister(App\\Providers\\AuthServiceProvider::class);\n  $app-\u003eregister(App\\Providers\\EventServiceProvider::class);\n  \n  $app-\u003eregister(Atnic\\LumenGenerator\\Providers\\AppServiceProvider::class);\n  $app-\u003eregister(Atnic\\LumenGenerator\\Providers\\ConsoleServiceProvider::class);\n  \n  $app-\u003eregister(Laravel\\Passport\\PassportServiceProvider::class);\n  ...\n  ```\n- [x] Update `database/factories/ModelFactory.php`, add `password` and `api_token`\n  ```php\n  $factory-\u003edefine(App\\User::class, function (Faker\\Generator $faker) {\n      return [\n          'name' =\u003e $faker-\u003ename,\n          'email' =\u003e $faker-\u003eemail,\n          'password' =\u003e app('hash')-\u003emake('password'),\n          'api_token' =\u003e str_random()\n      ];\n  });\n  ```\n- [x] Update `.gitignore`\n  ```\n  /database/*.sqlite\n  /storage/*.key\n  ```\n- [x] In `phpunit.xml`, remove attribute `syntaxCheck=\"false\"` if exists (ex: Lumen 5.5), because its not compatible with new phpunit package\n- [x] Then run \n  ```bash\n  php artisan app:install\n  ```\n\n## Make Module (CRUD)\nThis package is overriding some laravel artisan command.\n\nThis is example to make Foo module in this project\n```bash\nphp artisan make:controller --model=Foo FooController\n```\nThen do this steps:\n- [x] Check new migration in `database/migrations/`, add column needed.\n- [x] Check new factory in `database/factories/`, add atrribute needed.\n- [x] Check new model in `app/`, add changes needed.\n- [x] Check new filter in `app/Filters/`, do all `TODO:` and remove the comment if done.\n- [x] Check lang en `resources/lang/en` and copy from en to lang id `resources/lang/id`, add language as needed.\n- [x] Check new controller in `app/Http/Controllers/`, complete returned array in method `relations()` `visibles()` `fields()` `rules()`, do all `TODO:`, and remove comment if done.\n- [x] Check new policy in `app/Policies/`, do all `TODO:` and remove the comment if done.\n- [x] No need to append new Policy to `$policies` attribute in `app/Providers/AuthServiceProvider.php`. This package handle policy auto discovery, even for Laravel \u003c 5.8.\n- [x] Check new tests in `tests/Feature/`, do all `TODO:` and remove the comment if done.\n\n## Other Useful command\n\n```bash\n# Creating Nested Controller\nphp artisan make:controller --parent=Foo --model=Bar Foo/BarController\n\n# Create Single Action Controller\nphp artisan make:controller DashboardController\n```\n\nAll new/overrided command can be viewed in `vendor/atnic/lumen-generator/app/Console/Commands`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatnic%2Flumen-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatnic%2Flumen-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatnic%2Flumen-generator/lists"}