Skip to content

Commit

Permalink
Documentation. Add conceptual model and description of commenting fea…
Browse files Browse the repository at this point in the history
…ture (kgrzybek#169)

* Documentation. Add conceptual model and description of commenting feature.

* Documentstion. Add plantuml diagramm file for commenting feature.
  • Loading branch information
AndreiGanichev authored Mar 30, 2021
1 parent 2898530 commit ac63237
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 0 deletions.
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,8 @@ A `Meeting Attendee` can bring guests to the `Meeting`. The number of guests all

A `Meeting Attendee` can have one of two roles: `Attendee` or `Host`. A `Meeting` must have at least one `Host`. The `Host` is a special role which grants permission to edit `Meeting` information or change the attendees list.

A `Member` can comment `Meetings`. A `Member` can reply to, like other `Comments`. `Organizer` manages commenting of `Meeting` by `Meeting Commenting Configuration`. `Organizer` can delete any `Comment`.

Each `Meeting Group` must have an organizer with active `Subscription`. One organizer can cover 3 `Meeting Groups` by his `Subscription`.

Additionally, Meeting organizer can set an `Event Fee`. Each `Meeting Attendee` is obliged to pay the fee. All guests should be paid by `Meeting Attendee` too.
Expand Down Expand Up @@ -230,6 +232,9 @@ PlantUML version:
VisualParadigm version (not maintained, only for demonstration):
![](docs/Images/Conceptual_Model.png)

**Conceptual Model of commenting feature**
![](https://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/kgrzybek/modular-monolith-with-ddd/master/docs/PlantUML/Commenting_Conceptual_Model.puml)

### 2.3 Event Storming

While a Conceptual Model focuses on structures and relationships between them, **behavior** and **events** that occur in our domain are more important.
Expand Down
17 changes: 17 additions & 0 deletions docs/PlantUML/Commenting_Conceptual_Model.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
@startuml

object "Meeting" as Meeting
object "Member" as Member
object "Meeting Commenting Configuration" as MeetingCommentingConfiguration
object "Meeting Comment" as MeetingComment
object "Meeting Member Comment Like" as MeetingMemberCommentLike

Meeting "1"-->"0..*" MeetingComment : has
MeetingCommentingConfiguration "1"-->"1" Meeting : enables\ncommenting\nof
MeetingComment "1"-->"0..*" MeetingMemberCommentLike : has
MeetingComment "1"-->"0..*" MeetingComment : is reply to
Member --> Meeting : comments
Member --> MeetingComment : replies to,\nlikes
Member --> MeetingCommentingConfiguration : configures

@enduml

0 comments on commit ac63237

Please sign in to comment.