# 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/qa/test/`

## 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/qa/test/database/seeds",
            
            ...
        ],
        "psr-4": {
            ...
            
            "Qa\\Test\\": "packages/qa/test/src",
            
            ...
        }
    },
...

```

## Config

Add the entries in service provider in `config/app.php`

```php

...
    'providers'       => [
        ...
        
        Qa\Test\Providers\TestServiceProvider::class,
        
        ...
    ],

    ...

    'alias'             => [
        ...
        
        'Test'  => Qa\Test\Facades\Test::class,
        
        ...
    ]
...

```

## Migrate

After service provider is set run the commapnd to migrate and seed the database.


    php artisan migrate
    php artisan db:seed --class=Qa\\TestTableSeeder

## Publishing


**Publishing configuration**

    php artisan vendor:publish --provider="Qa\Test\Providers\TestServiceProvider" --tag="config"

**Publishing language**

    php artisan vendor:publish --provider="Qa\Test\Providers\TestServiceProvider" --tag="lang"

**Publishing views**

    php artisan vendor:publish --provider="Qa\Test\Providers\TestServiceProvider" --tag="view"


## URLs and APIs


### Web Urls

**Admin**

    http://path-to-route-folder/admin/test/{modulename}

**User**

    http://path-to-route-folder/user/test/{modulename}

**Public**

    http://path-to-route-folder/tests


### API endpoints

**List**
 
    http://path-to-route-folder/api/user/test/{modulename}
    METHOD: GET

**Create**

    http://path-to-route-folder/api/user/test/{modulename}
    METHOD: POST

**Edit**

    http://path-to-route-folder/api/user/test/{modulename}/{id}
    METHOD: PUT

**Delete**

    http://path-to-route-folder/api/user/test/{modulename}/{id}
    METHOD: DELETE

**Public List**

    http://path-to-route-folder/api/test/{modulename}
    METHOD: GET

**Public Single**

    http://path-to-route-folder/api/test/{modulename}/{slug}
    METHOD: GET