Result preparation feature designed and planned befor implementing

This commit is contained in:
AG
2025-10-11 15:38:07 +03:00
parent d4b1b1af01
commit 42303b1fc3
9 changed files with 521 additions and 1 deletions

View File

@@ -0,0 +1,46 @@
# Data Model: Result Preparation Refactoring
**Date**: 2025-10-11
**Feature**: Result Preparation Refactoring
This document defines the data structures used in the feature.
## Entities
### DesireSet
Represents a single user's submission.
| Field | Type | Description |
|---|---|---|
| participantId | string | The unique identifier for the participant. |
| wants | string[] | A list of things the participant wants. |
| accepts | string[] | A list of things the participant is willing to accept. |
| noGoes | string[] | A list of things the participant does not want. |
### Session
Represents a single session where users submit their desires.
| Field | Type | Description |
|---|---|---|
| sessionId | string | The unique identifier for the session. |
| state | SessionState | The current state of the session (`SETUP`, `GATHERING`, `HARMONIZING`, `FINAL`, `ERROR`). |
| expectedResponses | number | The number of participants expected to submit their desires. |
| submittedCount | number | The number of participants who have submitted their desires. |
| responses | Map<string, DesireSet> | A map of participant IDs to their submitted `DesireSet`. |
| clients | Map<string, WebSocket> | A map of client IDs to their WebSocket connections. |
| finalResult | Decision \| null | The final categorized result of the session. |
| topic | string \| null | The topic of the session. |
### Decision
Represents the final categorized result of the analysis.
| Field | Type | Description |
|---|---|---|
| goTos | string[] | A list of items that all participants want. |
| alsoGoods | string[] | A list of items that some participants want and others accept. |
| considerables | string[] | A list of items that are wanted or accepted by some participants. |
| noGoes | string[] | A list of items that at least one participant does not want. |
| needsDiscussion | string[] | A list of items with conflicting desires. |