@startuml class Account { - email: String - phoneNumber: String - id: int + setMailAddress(String) + getMailAddress(): String + getPhoneNumber(): String + setPhoneNumber(String) + getUser(): AccountUser + getId(): int } Account --> "- user" AccountUser Account --> "- teams *" Team interface User { + getName(): String + getProfilePicture(): Url + getAge(): int } class AccountUser { - name: String - profilePicture: Url - age: int + setName(String) + setProfilePicture(URI) + setAge(int) } AccountUser ..|> User class Member { - userId: int + getUserId(): int + getRole(): MemberRole } Member --> "- role" MemberRole enum MemberRole { PLAYER COACH } class Team { - name: String - picture: Url - members: array + getName(): String + getPicture(): Url + getMainColor(): Color + getSecondColor(): Color + listMembers(): array } Team --> "- mainColor" Color Team --> "- secondaryColor" Color class Color { - value: int + getValue(): int } class AuthController{ -twig: Environment + login (request) : int + register (request) : int } AuthController --> "- modelAuth" AuthModel class AuthModel{ + validationRegister(username : string, email : string, password : string) + validationLogin (username : string, email : string, password : string) } AuthModel --> "- gateway" AuthGateway class AuthGateway{ -con : Connection + insert(mail : string, password : string) + isAccountEqual(mail : string, password : string) } @enduml