Documents : domaine event-sourced (@octant/documents) #34

Closed
opened 2026-07-04 12:11:20 +00:00 by momsse · 3 comments
Owner

Migré depuis viziertronic/octant#83 — ouvert le 2026-06-26 par @momsse.

Créer le domaine event-sourced Documents (@octant/documents, packages/domain/documents).

Périmètre / livrables

  • Agrégats : Party (source de documents), Document.
  • Commandes & événements conformes au .estorm : PartyCreated, PartyConfigurationUpdated, DocumentCreated, DocumentAnalyzed, DocumentArchived, DocumentMetadataUpdated.
  • Value object « source de document » (upload ad hoc, drive, provider en ligne) extensible.
  • Ids, state, errors, fixtures, tests GWT ; types des read models Parties, Documents.

Dépendances

  • @octant/event-sourcing, @octant/testing.

Référence : docs/event-storming/transaction-matcher.md + le modèle transaction-matcher.estorm.

> _Migré depuis [viziertronic/octant#83](https://github.com/viziertronic/octant/issues/83) — ouvert le 2026-06-26 par @momsse._ Créer le domaine event-sourced **Documents** (`@octant/documents`, `packages/domain/documents`). ## Périmètre / livrables - Agrégats : `Party` (source de documents), `Document`. - Commandes & événements conformes au `.estorm` : `PartyCreated`, `PartyConfigurationUpdated`, `DocumentCreated`, `DocumentAnalyzed`, `DocumentArchived`, `DocumentMetadataUpdated`. - Value object « source de document » (upload ad hoc, drive, provider en ligne) extensible. - Ids, state, errors, fixtures, tests GWT ; types des read models `Parties`, `Documents`. ## Dépendances - `@octant/event-sourcing`, `@octant/testing`. Référence : [`docs/event-storming/transaction-matcher.md`](../blob/main/docs/event-storming/transaction-matcher.md) + le modèle [`transaction-matcher.estorm`](../blob/main/docs/event-storming/transaction-matcher.estorm).
Author
Owner

@momsse — 2026-06-26 (commentaire migré) :

En cours sur feat/documents-domain (PR #94, draft).

Fait (typecheck + oxlint + oxfmt + 13 tests verts) : package @octant/documents + les 2 agrégats — Party (Create/Configure, fréquence de synchro en Duration) et Document (Upload/Analyse/Archive/UpdateMetadata, cycle created → analysed | archived), value object DocumentSource (upload ad hoc vs source party, extensible drives/providers).

Reste dans ce ticket : les types de read models (Parties, Documents) + query ports — livrés avec l'infra Postgres/projections (#36). Sources & analyse / PartyDocumentApi (#35) hors périmètre.

> _@momsse — 2026-06-26 (commentaire migré) :_ En cours sur `feat/documents-domain` (PR #94, draft). **Fait** (typecheck + oxlint + oxfmt + 13 tests verts) : package `@octant/documents` + les 2 agrégats — `Party` (Create/Configure, fréquence de synchro en `Duration`) et `Document` (Upload/Analyse/Archive/UpdateMetadata, cycle `created → analysed | archived`), value object `DocumentSource` (upload ad hoc vs source party, extensible drives/providers). **Reste dans ce ticket** : les *types* de read models (`Parties`, `Documents`) + query ports — livrés avec l'infra Postgres/projections (#36). Sources & analyse / `PartyDocumentApi` (#35) hors périmètre.
Author
Owner

@momsse — 2026-06-26 (commentaire migré) :

Domaine livré et mergé via #94 (CI verte, reviews locale + distante traitées). Reste : types de read models (Parties, Documents) + query ports, à livrer avec l'infra Postgres #36.

> _@momsse — 2026-06-26 (commentaire migré) :_ Domaine livré et mergé via #94 (CI verte, reviews locale + distante traitées). Reste : types de read models (`Parties`, `Documents`) + query ports, à livrer avec l'infra Postgres #36.
Author
Owner

@momsse — 2026-07-02 (commentaire migré) :

Livré par #94 (mergée) — domaine @octant/documents complet.

> _@momsse — 2026-07-02 (commentaire migré) :_ Livré par #94 (mergée) — domaine @octant/documents complet.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
momsse/octant#34
No description provided.