first commit
This commit is contained in:
25
libs/api/tracker/domain/README.md
Normal file
25
libs/api/tracker/domain/README.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# api-tracker-domain
|
||||
|
||||
El modelo del producto: proyectos, tickets, comentarios y releases.
|
||||
|
||||
- **Import**: `@task-stream/api/tracker/domain`
|
||||
- **Capa**: `domain` · **Tags**: `scope:api-tracker`, `type:domain`
|
||||
|
||||
## Contenido
|
||||
|
||||
- Agregados event-sourced: `Project`, `Issue`, `Comment`, `Release`. Validan en sus métodos y cambian de estado en `on<Evento>`.
|
||||
- `events/`: un fichero por evento (`IssueCreatedEvent`, `IssueStatusChangedEvent`…), todos con `@AutowiredEvent`.
|
||||
- `factories/`: `ProjectFactory`, `IssueFactory`, `CommentFactory`, `ReleaseFactory` (`@Injectable()`).
|
||||
- `issue/issue-workflow.ts`: transiciones de estado permitidas y estados que exigen motivo.
|
||||
- `read-models/`: forma de las vistas de lectura (`ProjectReadModel`, `IssueReadModel`…).
|
||||
|
||||
Reglas y workflow: [API](../../../../docs/03-api.md#31-modelo-de-dominio-contexto-tracker).
|
||||
|
||||
## Comandos
|
||||
|
||||
```sh
|
||||
npx nx lint api-tracker-domain
|
||||
npx nx test api-tracker-domain # Jest
|
||||
```
|
||||
|
||||
Reglas de dependencia entre capas: [Arquitectura](../../../../docs/02-arquitectura.md#21-capas-hexagonales).
|
||||
Reference in New Issue
Block a user