Для запуска требуется Docker
- Переместиться в директорию deploy
docker-compose -f docker-compose.dev.yml build --no-cache- создание контейнеров.docker-compose -f docker-compose.dev.yml up --force-recreate --remove-orphans- запуск контейнеров(может не собраться с 1-го раза из-за большого количества файлов (зависимостей), так что следует несколько раз его запускать при возникновении ошибок).- После того, как увидите в терминале строку
backend | INFO: Application startup complete., перейдите по ссылке "http://localhost:8080" в своем браузере, чтобы открыть веб-интерфейс приложения.
При переходе по ссылке открывается страница авторизации. Для пользователя доступно несколько вариантов действий:
- Вход в систему
- Регистрация
- Восстановление пароля
- Гостевой вход (ограничивает возможности функционала приложения)
Далее открывается страница с тестированием. Для прохождения теста вам необходимо скачать макет и нарисовать часы согласно инструкции, после этого вы должны загрузить ваш рисунок. Для зарегистрированных пользователей также доступен переход на страницу истории. Нажав на кнопку результат, вы перейдете на страницу и перед вами появится количество баллов с текстовым и визуальным пояснением ваших ошибок.
В случае, если пользователь вошел в систему, будет доступна страница с историей тестирования (для неавторизированных пользователей кнопка перехода на эту страницу неактивна), которая будет включать информацию о каждом прохождении теста: дата прохождения и результат, кнопка, при нажатии на которую будут видны комментарии по поводу конкретного прохождения. На данной странице расположена кнопка график, при нажатии на которую пользователь перейдет на страницу с графиками, где будет с помощью гистограмм указана динамика результатов прохождений пользователя.
Для того, чтоб запустить тесты, нужно перейти в папку tests.
Необходимо запустить приложение согласно руководству по запуску в файле README.md в корне проекта.
pip install -r requirements.txt
python ./basic_test.py
Тесты проверяют работоспособность кнопок на сайте, служат для нахождения конфликтов в pull request