<commit_before># Quantic Telecom Support

This package manages Quantic Telecom's support regardless models.

## Installation

You can install Quantic Telecom Support through composer:

```js
"require": {
    "quantic-telecom/support": "~1.0"
}
```

Next, update `app/config/app.php` to include a reference to this package's service provider in the providers array.

```php
'providers' => [
    'QuanticTelecom\Support\SupportServiceProvider'
]
```

## Usage

### Controllers

Quantic Telecom support provides two controllers: `QuanticTelecom\Support\Controllers\TicketsController` and `QuanticTelecom\Support\Controllers\CommentsController` with some CRUD's methods.

* `TicketsController`
  * `@create`: show create form
  * `@store`: open a ticket


* `CommentsController`
  * `@store`: write a new comment

### Routes

You may want to add your own routes for example in `app/routes.php` or in a service provider.

### Contracts

Quantic Telecom support provides some contracts to implement.

#### Models

* `Ticket` & `Comment`: meaningless doc blocs contracts;


#### Factories

Factories contracts provides a clean way to create models. Concrete implementations need to know how to create a new model instance and how to attach (for comments) a model to another.

* `OpenTicket`: act like a Ticket factory;
* `WriteComment`: same as `OpenTicket` for comments.

#### Repositories

Quantic Telecom support needs repositories to manage database connection:
* `TicketRepository`: get and save tickets;
* `CommentRepository`: save a comment.

### Commands

Laravel Commander provides an easy way to leverage commands and domain events. This package has two commands (and two handlers):
* `OpenTicketCommand` & `OpenTicketCommandHandler`: use `OpenTicket` factory to create a new ticket and `TicketRepository` to save this ticket;
* `WriteCommentCommand` & `WriteCommentCommandHandler`: use `WriteComment` factory to create and attach a new comment to a ticket and then `CommentRepository` to save / persist it.
<commit_msg>Remove capitalize letter<commit_after># Quantic Telecom Support

This package manages Quantic Telecom's support regardless models.

## Installation

You can install Quantic Telecom Support through composer:

```js
"require": {
    "quantic-telecom/support": "~1.0"
}
```

Next, update `app/config/app.php` to include a reference to this package's service provider in the providers array.

```php
'providers' => [
    'QuanticTelecom\Support\SupportServiceProvider'
]
```

## Usage

### Controllers

Quantic Telecom support provides two controllers: `QuanticTelecom\Support\Controllers\TicketsController` and `QuanticTelecom\Support\Controllers\CommentsController` with some CRUD's methods.

* `TicketsController`
  * `@create`: show create form
  * `@store`: open a ticket


* `CommentsController`
  * `@store`: write a new comment

### Routes

You may want to add your own routes for example in `app/routes.php` or in a service provider.

### Contracts

Quantic Telecom support provides some contracts to implement.

#### Models

* `Ticket` & `Comment`: meaningless doc blocs contracts;


#### Factories

Factories contracts provides a clean way to create models. Concrete implementations need to know how to create a new model instance and how to attach (for comments) a model to another.

* `OpenTicket`: act like a ticket factory;
* `WriteComment`: same as `OpenTicket` for comments.

#### Repositories

Quantic Telecom support needs repositories to manage database connection:
* `TicketRepository`: get and save tickets;
* `CommentRepository`: save a comment.

### Commands

Laravel Commander provides an easy way to leverage commands and domain events. This package has two commands (and two handlers):
* `OpenTicketCommand` & `OpenTicketCommandHandler`: use `OpenTicket` factory to create a new ticket and `TicketRepository` to save this ticket;
* `WriteCommentCommand` & `WriteCommentCommandHandler`: use `WriteComment` factory to create and attach a new comment to a ticket and then `CommentRepository` to save / persist it.

{'fraction_non_alphanumeric': 0.09021444417056938, 'fraction_numerical': 0.0009859502095144195, 'mean_word_length': 5.120663650075414, 'pattern_counts': {'":': 4, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '697996', 'n_tokens_mistral': 1145, 'n_tokens_neox': 1082, 'n_words': 462}