You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

4.8 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

Начало работы

Быстрый старт 🚀

Для работы приложения необходима версия Python не ниже 3.8

Запуск

Запустите файл run.cmd и интерфейс тестирования будет доступен по адресу localhost:8000

Для доступа к тесту с других компьютеров используйте строку Тест работает по адресу ... на стартовой странице теста

Редактирование

Для изменения вопросов редактируйте файл questions.json, для изменения списка студентов редактируйте файл students.json

После изменений перезапустите файл run.cmd

Ручное управление 🎡

Установка

Для работы приложения необходима версия Python не ниже 3.8

Для установки зависимостей в PowerShell из папки с системой выполнить

pip install -r requirements.txt

Запуск

В PowerShell выполнить скрипт запуска системы

Необходимо находиться в папке со скриптом, при необходимости перейти туда командой cd

python run.py

Должны увидеть в PowerShell текст, заканчивающийся следующим

INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)

Из этого текста запоминаем порт — это число после двоеточия, в данном случае 8000

На головном компьютере интерфейс будет доступен по адресу localhost:8000

Для корректного запуска теста на остальных компьютерах локальной сети необходимо узнать IP-адрес головного компьютера в локальной сети с помощью PowerShell

Get-NetIPAddress
# (Get-NetIPAddress | Where-Object {$_.AddressState -eq "Preferred" -and $_.ValidLifetime -lt "24:00:00"}).IPAddress # не тестировал

IPAddress         : 123.32.43.54
InterfaceIndex    : 27
InterfaceAlias    : Подключение по локальной сети* 1
AddressFamily     : IPv4
Type              : Unicast
PrefixLength      : 16
PrefixOrigin      : WellKnown
SuffixOrigin      : Link
AddressState      : Tentative
ValidLifetime     : Infinite ([TimeSpan]::MaxValue)
PreferredLifetime : Infinite ([TimeSpan]::MaxValue)
SkipAsSource      : False
PolicyStore       : ActiveStore

В файле gui/main.js заменить все localhost на полученный ip-адрес, например, 123.32.43.54, чтобы все запросы выполнялись к головному компьютеру

Доступ к тесту

Для доступа к тесту с компьютера в локальной сети перейти по URL такого вида ip-адрес:порт, например, 123.32.43.54:8000

Возможные проблемы 🔧

Не открывается страница в браузере

В консоли, которая отвечает за запуск приложения, (окно, которое открылось после запуска файла run.cmd) должно быть выведено сообщение об ошибке

В случае, если приложение не запустилось из-за ошибки синтаксиса в JSON-файлах questions.json или students.json, то в последней строке сообщения об ошибке будет указано, что именно в этих файлах не так, например, json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 18 column 9 (char 523)

В случае, если приложение не запустилось из-за отсутсвия обязательных полей в JSON-файлах questions.json или students.json, то в последней строке сообщения об ошибке будет указано, что именно в этих файлах не так, например, KeyError: 'answer'

Проверка корректности вопросов

Корректность вопросов на предмет 1) уникальности идентификаторов, 2) наличия правильного ответа среди вариантов ответа можно проверить