KsaiLab
Figures

Er Identity

DOCX
%%{init: {"theme": "neutral", "themeVariables": {"fontFamily": "Times New Roman, serif"}}}%% erDiagram organizations ||--o{ users : "" organizations ||--o{ groups : "" users ||--o{ group_students : "" groups ||--o{ group_students : "" users ||--o{ group_teachers : "" groups ||--o{ group_teachers : "" groups ||--o{ group_topics : "" topics ||--o{ group_topics : "" organizations { int id PK string name } users { int id PK string role int organization_id FK } groups { int id PK int organization_id FK } group_students { int group_id FK int user_id FK } group_teachers { int group_id FK int user_id FK } group_topics { int group_id FK int topic_id FK } topics { int id PK string title }

%%{init: {"theme": "neutral", "themeVariables": {"fontFamily": "Times New Roman, serif"}}}%% erDiagram organizations ||--o{ users : "" organizations ||--o{ groups : "" users ||--o{ group_students : "" groups ||--o{ group_students : "" users ||--o{ group_teachers : "" groups ||--o{ group_teachers : "" groups ||--o{ group_topics : "" topics ||--o{ group_topics : "" organizations { int id PK string name } users { int id PK string role int organization_id FK } groups { int id PK int organization_id FK } group_students { int group_id FK int user_id FK } group_teachers { int group_id FK int user_id FK } group_topics { int group_id FK int topic_id FK } topics { int id PK string title }

Er Diagram

%%{init: {"theme": "neutral", "themeVariables": {"fontFamily": "Times New Roman, serif"}}}%% erDiagram direction TB users ||--o{ group_members : "членство" group_members }o--|| groups : "состав" groups ||--o{ assignments : "назначение" assignments }o--|| topics : "назначение" topics ||--o{ labs : "состав" users { uuid id PK string username uuid role_id } groups { uuid id PK string name } group_members { uuid group_id FK uuid user_id FK } topics { uuid id PK string title } labs { uuid id PK uuid topic_id FK } assignments { uuid group_id FK uuid topic_id FK }

Er Learning

%%{init: {"theme": "neutral", "themeVariables": {"fontFamily": "Times New Roman, serif"}}}%% erDiagram organizations ||--o{ users : "" organizations ||--o{ groups : "" users ||--o{ group_students : "" groups ||--o{ group_students : "" users ||--o{ group_teachers : "" groups ||--o{ group_teachers : "" groups ||--o{ group_topics : "" topics ||--o{ group_topics : "" topics ||--o{ sections : "" sections ||--o{ subsections : "" topics ||--o{ tests : "" sections ||--o{ tests : "" topics ||--o{ questions : "" sections ||--o{ questions : "" tests ||--o{ test_questions : "" questions ||--o{ test_questions : "" users ||--o{ test_attempts : "" tests ||--o{ test_attempts : "" organizations { int id PK string name } users { int id PK string role int organization_id FK } groups { int id PK int organization_id FK } group_students { int group_id FK int user_id FK } group_teachers { int group_id FK int user_id FK } group_topics { int group_id FK int topic_id FK } topics { int id PK string title } sections { int id PK int topic_id FK } subsections { int id PK int section_id FK string type } tests { int id PK int topic_id FK int section_id FK string type } questions { int id PK int topic_id FK int section_id FK } test_questions { int test_id FK int question_id FK } test_attempts { int id PK int user_id FK int test_id FK string status }