share-mvp

Domain Model

This file documents conceptual questions.

Class diagrams

Base data model


classDiagram
    direction LR

    class User{
        +string username
        +string email
        +trusts UserId[]
    }
    User --> User : trusts

    class Item{
        +string name
        +Image image
        +string description
        +string place
        +User owner <!-- this is currently misnamed, have to adapt in DB and then in code -->
        +bool trusteesOnly
    }
    User "1" <-- "n" Item : owned by

    class Message{
        +string messageContent
        +User from
        +User to
    }

    class Conversation{
        +User requester
        +User itemOwner
        +Item requestedItem
        +Message[] messages
        +boolean readByRequester
        +boolean readByOwner
    }
    Conversation "1" --> "n" Message
    Conversation "0...*" --> "2" User
    Conversation "1" --> "1" Item

User entity

Item

Conversation