# Installation The instructions below will help you to properly installand run the generated package to the lavalite project. ## Location Extract the package contents to the folder `/packages/lavalite/example/` ## Composer Add the below entries in the `composer.json`. ```json ... "repositories": { ... { "type": "path", "url": "packages/lavalite/example" } ... }, ... ``` Then run `composer require lavalite/example` ## Migration and seeds ``` php artisan migrate php artisan db:seed --class=Lavalite\\Example\\Seeders\\ExampleTableSeeder ``` ## Publishing * Configuration ``` php artisan vendor:publish --provider="Lavalite\Example\Providers\ExampleServiceProvider" --tag="config" ``` * Language ``` php artisan vendor:publish --provider="Lavalite\Example\Providers\ExampleServiceProvider" --tag="lang" ``` * Views ``` php artisan vendor:publish --provider="Lavalite\Example\Providers\ExampleServiceProvider" --tag="view" ``` ## URLs and APIs ### Web Urls * Admin ``` http://path-to-route-folder/admin/example/{modulename} ``` * User ``` http://path-to-route-folder/user/example/{modulename} ``` * Public ``` http://path-to-route-folder/examples ``` ### API endpoints These endpoints can be used with or without `/api/` And also the user can be varied depend on the type of users, eg user, client, admin etc. #### Resource * List ``` http://path-to-route-folder/api/user/example/{modulename} METHOD: GET ``` * Create ``` http://path-to-route-folder/api/user/example/{modulename} METHOD: POST ``` * Edit ``` http://path-to-route-folder/api/user/example/{modulename}/{id} METHOD: PUT ``` * Delete ``` http://path-to-route-folder/api/user/example/{modulename}/{id} METHOD: DELETE ``` #### Public * List ``` http://path-to-route-folder/api/example/{modulename} METHOD: GET ``` * Single Item ``` http://path-to-route-folder/api/example/{modulename}/{slug} METHOD: GET ``` #### Others * Report ``` http://path-to-route-folder/api/user/example/{modulename}/report/{report} METHOD: GET ``` * Export/Import ``` http://path-to-route-folder/api/user/example/{modulename}/exim/{exim} METHOD: POST ``` * Action ``` http://path-to-route-folder/api/user/example/{modulename}/action/{id}/{action} METHOD: PATCH ``` * Actions ``` http://path-to-route-folder/api/user/example/{modulename}/actions/{action} METHOD: PATCH ``` * Workflow ``` http://path-to-route-folder/api/user/example/{modulename}/workflow/{id}/{transition} METHOD: PATCH ```