Lavalite package that provides app management facility for the cms.

## Installation

Run the below command form the root folder of lavalite.

```
    composer require "bixo/app"
```


## Migration and seeds

```
    php artisan migrate
    php artisan db:seed --class=Bixo\\App\\Seeders\\AppTableSeeder
```

## Publishing

* Configuration
```
    php artisan vendor:publish --provider="Bixo\App\Providers\AppServiceProvider" --tag="config"
```
* Language
```
    php artisan vendor:publish --provider="Bixo\App\Providers\AppServiceProvider" --tag="lang"
```
* Views
```
    php artisan vendor:publish --provider="Bixo\App\Providers\AppServiceProvider" --tag="view"
```


## URLs and APIs


### Web Urls

* Admin
```
    http://path-to-route-folder/admin/app/{modulename}
```

* User
```
    http://path-to-route-folder/user/app/{modulename}
```

* Public
```
    http://path-to-route-folder/apps
```


### 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/app/{modulename}
    METHOD: GET
```

* Create
```
    http://path-to-route-folder/api/user/app/{modulename}
    METHOD: POST
```

* Edit
```
    http://path-to-route-folder/api/user/app/{modulename}/{id}
    METHOD: PUT
```

* Delete
```
    http://path-to-route-folder/api/user/app/{modulename}/{id}
    METHOD: DELETE
```

#### Public

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

* Single Item
```
    http://path-to-route-folder/api/app/{modulename}/{slug}
    METHOD: GET
```

#### Others

* Report
```
    http://path-to-route-folder/api/user/app/{modulename}/report/{report}
    METHOD: GET
```

* Export/Import
```
    http://path-to-route-folder/api/user/app/{modulename}/exim/{exim}
    METHOD: POST
```

* Action
```
    http://path-to-route-folder/api/user/app/{modulename}/action/{id}/{action}
    METHOD: PATCH
```

* Actions
```
    http://path-to-route-folder/api/user/app/{modulename}/actions/{action}
    METHOD: PATCH
```

* Workflow
```
    http://path-to-route-folder/api/user/app/{modulename}/workflow/{id}/{transition}
    METHOD: PATCH
```