Initial commit
All checks were successful
DMA-CSD-CICD/QuizSystem/pipeline/head This commit looks good
UCN/QuizSystem/pipeline/head This commit looks good

This commit is contained in:
Karsten Jeppesen
2026-04-10 17:05:34 +02:00
parent eb1991ce9d
commit eba66b2ad2
200 changed files with 155068 additions and 232 deletions

88
Quizzer/README.md Normal file
View File

@@ -0,0 +1,88 @@
# Quizzer
Quizzer is a quizz maker and management application based on Razor.
It implements MC questions and MC quizzes later to be expanded.
It also implements Tags which should be applied to all questions to allow for random quizz building.
## Database tables
**Categories**
```
CREATE TABLE `Cats` (
`CId` VARCHAR(50) NOT NULL DEFAULT 'NA' COLLATE 'utf8mb4_general_ci',
`UID` VARCHAR(256) NOT NULL DEFAULT '/' COLLATE 'utf8mb4_general_ci',
`CParentId` VARCHAR(50) NOT NULL DEFAULT '/' COLLATE 'utf8mb4_general_ci',
`Txt` VARCHAR(50) NOT NULL DEFAULT 'NA' COLLATE 'utf8mb4_general_ci',
`Descr` VARCHAR(1024) NOT NULL DEFAULT 'NA' COLLATE 'utf8mb4_general_ci',
PRIMARY KEY (`CId`) USING BTREE,
INDEX `TId` (`CId`) USING BTREE
)
COLLATE='utf8mb4_general_ci'
ENGINE=InnoDB
;
```
**Questions**
```
CREATE TABLE `Questions` (
`QId` CHAR(50) NOT NULL,
`Txt` VARCHAR(512) NOT NULL DEFAULT '0',
PRIMARY KEY (`QId`)
)
COLLATE='utf8mb4_general_ci'
ENGINE=InnoDB
;
```
**Journals**
```
CREATE TABLE `Journals` (
`PID` VARCHAR(256) NOT NULL COLLATE 'utf8mb4_general_ci',
`QuizzID` VARCHAR(50) NOT NULL COLLATE 'utf8mb4_general_ci',
`Category` VARCHAR(50) NOT NULL COLLATE 'utf8mb4_general_ci',
`IsOpen` INT(11) NOT NULL DEFAULT '1',
`Score` INT(11) NOT NULL,
`ScoreAcc` INT(11) NOT NULL,
`JournalJson` VARCHAR(2048) NOT NULL COLLATE 'utf8mb4_general_ci',
PRIMARY KEY (`PID`, `QuizzID`) USING BTREE
)
COLLATE='utf8mb4_general_ci'
ENGINE=InnoDB
;
```
**Questions**
```
CREATE TABLE `Questions` (
`QuestionID` VARCHAR(50) NOT NULL DEFAULT 'ERROR' COLLATE 'utf8mb4_general_ci',
`QuestionType` VARCHAR(50) NOT NULL DEFAULT '' COLLATE 'utf8mb4_general_ci',
`Category` VARCHAR(50) NOT NULL DEFAULT '/' COLLATE 'utf8mb4_general_ci',
`QuestionText` VARCHAR(512) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
`ContentJson` VARCHAR(1024) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
PRIMARY KEY (`QuestionID`) USING BTREE
)
COLLATE='utf8mb4_general_ci'
ENGINE=InnoDB
;
```
**Quizzes**
```
CREATE TABLE `Quizzs` (
`QuizzId` VARCHAR(50) NOT NULL DEFAULT 'na' COLLATE 'utf8mb4_general_ci',
`Owner` VARCHAR(256) NOT NULL DEFAULT 'na' COLLATE 'utf8mb4_general_ci',
`Class` VARCHAR(50) NOT NULL DEFAULT 'na' COLLATE 'utf8mb4_general_ci',
`Category` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
`Descr` VARCHAR(1024) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
`Anonymous` INT(11) NULL DEFAULT '0',
`QSize` INT(10) UNSIGNED NOT NULL DEFAULT '5',
PRIMARY KEY (`QuizzId`) USING BTREE
)
COLLATE='utf8mb4_general_ci'
ENGINE=InnoDB
;
```
**Statistics**
```
CREATE TABLE `Statistics` (
`QuizzID` VARCHAR(50) NULL DEFAULT 'na' COLLATE 'utf8mb4_general_ci',
`Version` INT(11) NULL DEFAULT '0',
`StatsJson` VARCHAR(8192) NULL DEFAULT NULL COLLATE 'utf8mb3_bin'
)
COLLATE='utf8mb4_general_ci'
ENGINE=InnoDB
;
```