# 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/crm/advertisement/` ## Composer Add the below entries in the `composer.json`. ```json ... "repositories": { ... { "type": "path", "url": "packages/crm/advertisement" } ... }, ... ``` Then run `composer require crm/advertisement` ## Migration and seeds ``` php artisan migrate php artisan db:seed --class=Crm\\Advertisement\\Seeders\\AdvertisementTableSeeder ``` ## Publishing * Configuration ``` php artisan vendor:publish --provider="Crm\Advertisement\Providers\AdvertisementServiceProvider" --tag="config" ``` * Language ``` php artisan vendor:publish --provider="Crm\Advertisement\Providers\AdvertisementServiceProvider" --tag="lang" ``` * Views ``` php artisan vendor:publish --provider="Crm\Advertisement\Providers\AdvertisementServiceProvider" --tag="view" ``` ## URLs and APIs ### Web Urls * Admin ``` http://path-to-route-folder/admin/advertisement/{modulename} ``` * User ``` http://path-to-route-folder/user/advertisement/{modulename} ``` * Public ``` http://path-to-route-folder/advertisements ``` ### 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/advertisement/{modulename} METHOD: GET ``` * Create ``` http://path-to-route-folder/api/user/advertisement/{modulename} METHOD: POST ``` * Edit ``` http://path-to-route-folder/api/user/advertisement/{modulename}/{id} METHOD: PUT ``` * Delete ``` http://path-to-route-folder/api/user/advertisement/{modulename}/{id} METHOD: DELETE ``` #### Public * List ``` http://path-to-route-folder/api/advertisement/{modulename} METHOD: GET ``` * Single Item ``` http://path-to-route-folder/api/advertisement/{modulename}/{slug} METHOD: GET ``` #### Others * Report ``` http://path-to-route-folder/api/user/advertisement/{modulename}/report/{report} METHOD: GET ``` * Export/Import ``` http://path-to-route-folder/api/user/advertisement/{modulename}/exim/{exim} METHOD: POST ``` * Action ``` http://path-to-route-folder/api/user/advertisement/{modulename}/action/{id}/{action} METHOD: PATCH ``` * Actions ``` http://path-to-route-folder/api/user/advertisement/{modulename}/actions/{action} METHOD: PATCH ``` * Workflow ``` http://path-to-route-folder/api/user/advertisement/{modulename}/workflow/{id}/{transition} METHOD: PATCH ```