Перед корректной работой приложения администратору необходимо выполнить следующие действия. (На уровне интерфейса или программно выполнив sql запросы в бд).
- Создать тематику теста, которая содержит название темы (name) и категории вопросов (category), входящих в нее.
POST /api/quiz-sample - Создать вопросы.
POST /api/questions
По умолчанию база заполнена базовыми вопросами и темами. Но администратор оставляет за собой право редактировать как темы, так и вопросы в процессе жизни приложения.
Использую контроллер сэмплов администратор можеть создавать тематики тестов, на основе которых в дальнейшем будут построены тесты.
Тематики тестов (Сэмплы) могут быть созданы до вопросов (Независимая единица).
Используя контроллер вопросов, администратор имеет возможность управлять вопросами, на основе которых потом будут созданы тесты.
Используя контроллер ролей, администратор имеет возможность получать пользователей по роли, а также управлять ими. Администратор может создавать любые роли на основе разрешений. Далее используя Админка, есть возможность присвоить новую роль пользователю.
Пользователь имеет возможность регистрироваться (после этого необходимо получить токен, используя контроллер аутентификации). Построена с использованием JWT.
Регистрация - POST /api/auth/register
Аутентификация - POST /api/auth/authenticate
Пока у пользователя единственный функционал, заключащийся в том, что пользоатель может проходить тесты, по заданным темам(семплам), ранее созданным администрацией.(Количество вопросов для теста устанавливается по желанию администрации[с фронта отпраляется запрос с количеством нужных вопросов и темой для теста
GET /api/quiz])
После завершения теста пользователь получает количество правильных ответов.
POST /api/quiz/finish
UPDATE v2.0 Добавлены категории и подкатегории, которые могут быть присвоены вопросам. Категории созданы для объединения подкатегорий и проверки того, что при создании сэмплов/вопросов осуществлять проверку на пренадлежность подкатегорий к одной категории. (проверка на бэке).