# Installation The instructions below will help you to properly install the generated package to the lavalite project. ## Location Extract the package contents to the folder `/packages/research/subject/` ## Composer Add the below entries in the `composer.json` file's autoload section and run the command `composer dump-autoload` in terminal. ```json ... "autoload": { ... "classmap": [ ... "packages/research/subject/database/seeds", ... ], "psr-4": { ... "Research\\Subject\\": "packages/research/subject/src", ... } }, ... ``` ## Config Add the entries in service provider in `config/app.php` ```php ... 'providers' => [ ... Research\Subject\Providers\SubjectServiceProvider::class, ... ], ... 'alias' => [ ... 'Subject' => Research\Subject\Facades\Subject::class, ... ] ... ``` ## Migrate After service provider is set run the commapnd to migrate and seed the database. php artisan migrate php artisan db:seed --class=Research\\SubjectTableSeeder ## Publishing **Publishing configuration** php artisan vendor:publish --provider="Research\Subject\Providers\SubjectServiceProvider" --tag="config" **Publishing language** php artisan vendor:publish --provider="Research\Subject\Providers\SubjectServiceProvider" --tag="lang" **Publishing views** php artisan vendor:publish --provider="Research\Subject\Providers\SubjectServiceProvider" --tag="view" ## URLs and APIs ### Web Urls **Admin** http://path-to-route-folder/admin/subject/{modulename} **User** http://path-to-route-folder/user/subject/{modulename} **Public** http://path-to-route-folder/subjects ### API endpoints **List** http://path-to-route-folder/api/user/subject/{modulename} METHOD: GET **Create** http://path-to-route-folder/api/user/subject/{modulename} METHOD: POST **Edit** http://path-to-route-folder/api/user/subject/{modulename}/{id} METHOD: PUT **Delete** http://path-to-route-folder/api/user/subject/{modulename}/{id} METHOD: DELETE **Public List** http://path-to-route-folder/api/subject/{modulename} METHOD: GET **Public Single** http://path-to-route-folder/api/subject/{modulename}/{slug} METHOD: GET