generated from karsten.jeppesen/KAJE-Template
87 lines
2.8 KiB
Markdown
87 lines
2.8 KiB
Markdown
# 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
|
|
;
|