@startuml OpoTestDomain

class Community
note left: reviewedQuestions&Test availables

class User
note left: myTests

class Editor 

class Reviewer 

class Player 

enum Category 

enum Subcategory 

class Test 

class Question 
note right of Question: INFO: date, reviewed

class Statement

class Answer 

Community *-- "1..*" User

User <|-- Editor
User <|--  Reviewer
User <|-- Player

User o-- "0..*" Test

Editor ..> Question
Reviewer <.. Question
Reviewer <.. Test
Reviewer ..> Community
Player ..> Test

Test *--> "1..*" Question
Question *--> "1" Statement
Question *--> "1..*" Answer

Question *--> Category
Category *-->"0..*" Subcategory






