Данный проект является реализованным шаблоном сервиса по тестированию
Веб-приложение отражает в себе сервис по тестированию студентов. В качестве базы данных был использован MySQL. Приложение было разработано с использованием контейнеризатора Docker. В качестве веб-сервера был использован apache.
У неаутентифицированного пользователя нет доступа ни к одной из страниц приложения за исключением регистрации и авторизации. На этапе регистрации пользователь должен указать почту, пароль, уникальный шифр, а также полное имя. Кроме того, пользователь может на странице регистрации, или авторизации указать флажок запоминания данных для автологина. В приложении реализовано 3 роли пользователей.
Администратор может создавать дисциплины, редактировать их и удалять. Внутри созданной дисциплины администратор имеет возможность создавать тесты, с указанием названия, порядкового номера, времени на прохождение, минимального проходного балла. Также администратор может изменять и удалять тесты. Помимо этого администратор может внутри тестов создавать, изменять и удалять вопросы и ответы к ним.
Преподаватель может точно также взаимодействовать с тестами и вопросами в пределах подписанных дисциплин.
Студент может подписаться на любую доступную дисциплину. При этом ему откроется для прохождения только первый тест. Далее, студент может начать прохождение доступных тестов. В прохождение входят ответы на поставленные вопросы. Ответ может быть как один, так и несколько, это отражено в интерфейсе. Ответы принимаются лишь до завершения времени выделенного на тест. Тест завершается либо в случае ответа на последний вопрос, либо если выделенное время истекло. После прохождения теста, подсчитывается итоговое количество баллов. В случае успешного прохождения теста, студенту открывается следующий тест. В случае провала теста, студент может пройти его повторно. Пользователь также может просмотреть результаты за все пройденные тесты
В проекте были использованы основные возможности экосистемы Laravel. В частности:
Все основные манипуляции были тщательно задокументированы, их описания можно найти непосредственно в каждом разделе.
DockerРабота с БДМоделиКонтроллерыПути(Routing)View. Шаблоны BladeMiddlewareProviders+Composers
Данный проект является открытым и свободно распространяемым. Создателем всего кода является Гегия Давит, или же @DavidaaWoW