/online_tests

Сервис на Django для проведения online-тестирования

Primary LanguagePython

Сервис для проведения тестирования по каким-либо темам.

Функциональные части сервиса:

  • Регистрация пользователей
  • Аутентификация пользователей
  • Зарегистрированные пользователи могут
  • Проходить любой из тестовых наборов
  • Последовательный ответ на все вопросы, каждый вопрос должен выводится на новой странице с отправкой формы (перескакивать через тесты или оставлять неотмеченными нельзя)
  • После завершения тестирования смотреть результат (количество и процент правильных/неправильных ответов)
  • Админка. Стандартная админка Django. Разделы:

  • Стандартный раздел пользователей
  • Раздел с наборами тестов
  • Возможность на странице набора тестов добавлять вопросы/ответы к вопросам/отмечать правильные ответы
  • Валидация на то, что должен быть хотя бы 1 правильный вариант
  • Валидация на то, что все варианты не могут быть правильными
  • Удаление вопросов/вариантов ответов/изменение правильных решений при редактировании тестового набора
  • Prerequisites

    1. Python 3.8.10 (or latest)
    2. После клонирования проекта создайте файл .env (инструкции по настройке .env находятся в файле .env.example).

    Start project

    1. Для запуска проекта используйте команды:
      • docker-compose build
      • docker-compose up
    2. Чтобы создать superuser выполните команду:
      • docker exec -ti quiz /app/online_tests/manage.py createsuperuser Далее следуйте инструкциям в консоли.
    3. Чтобы создать в базе данных тестовую викторину выполните команду:
      • docker exec -ti quiz /app/online_tests/manage.py manage_quiz create Каждый новый запуск этой команды создает одну новую викторину.
    4. Для удаления тестового набора викторин выполните команду:
      • docker exec -ti quiz /app/online_tests/manage.py manage_quiz delete Команда удаляет все созданные тестовые викторины.
    5. Добавление новых тестов возможно через панель администратора.