@startuml class TacticInfo { - id: int - name: string - creationDate: string - ownerId: string - content: string + __construct(id:int,name:string,creationDate:int,ownerId:int,courtType:CourtType,content:string) + getId(): int + getOwnerId(): int + getCreationTimestamp(): int + getName(): string + getContent(): string + getCourtType() : CourtType } TacticInfo -->"- courtType" CourtType class CourtType{ - value : int - COURT_PLAIN : int {static} {frozen} - COURT_HALF : int {static} {frozen} - __construct(val:int) + plain() : CourtType {static} + half() : CourtType {static} + name() : string + fromName(name:string) : CourtType + isPlain() : bool + isHalf() : bool } note bottom: Basically an evoluated enum class Account { - token: string + __construct(token:string,user:User) + getUser() : User + getToken() : string } Account -->"- user" User class Member { - teamId: int - role : string + __construct(role : string) + getUser(): User + getTeamId(): int + getRole(): string } note bottom: Member's role is either "Coach" or "Player" Member -->"- user" User class TeamInfo { - name: string - picture: string - mainColor : string - secondColor : string + __construct(id:int,name:string,picture:string,mainColor:string,secondColor:string) + getName(): string + getPicture(): string + getMainColor(): string + getSecondColor(): string } note left: Both team's color are the hex code of the color class Team { + __construct(info:TeamInfo,members: Member[]) + getInfo(): TeamInfo + listMembers(): Member[] } Team --> "- info" TeamInfo Team --> "- members *" Member class User{ - id : int - name : string - email : string - profilePicture : string + __construct(id : int,name : string,email: string,profilePicture:string) + getId() : id + getName() : string + getEmail() : string + getProfilePicture() : string } @enduml