Skip to content

srgypetrov/test.testing_service

Repository files navigation

Docker

Все команды для удобства добавлены в Makefile.

Создание образа:

make build

Запуск контейнера:

make start

Приложение доступно локально на 80 порту. Если используется Docker Machine, приложение будет доступно на соответствующем ip адресе.

Остановка контейнера:

make stop

Запуск тестов:

make test

Запуск интерактивного интерпретатора:

make shell

Запуск контейнера с произвольной командой (например, bash):

make exec cmd=bash

Обычное разворачивание

Установка зависимостей:

pip install -r requirements.txt

Применение миграций БД:

python manage.py migrate

Загрузка тестовых данных в БД:

python manage.py loaddata users quizzes

Создание переводов:

python manage.py compilemessages

Запуск тестов:

py.test

Запуск приложения:

python manage.py runserver

Адрес приложения - http://127.0.0.1:8000/

Адрес админки - http://127.0.0.1:8000/admin/

Дополонительная информация

Статистика прохождения тестов выводится в админке на странице редактирования пользователя. Конкретные ответы можно увидеть в разделе "Ответы пользователей" админки, воспользовавшись фильтрами.

Задание

Необходимо создать сервис проведения тестирования. Тесты имеют определенный порядок вопросов. У вопроса может быть один или несколько вариантов правильных ответов, пропуск вопросов не допускается. Пользователь должен пройти регистрацию или авторизоваться, чтобы приступить к тестированию. Зарегистрированный пользователь может пройти любой тест, после завершения теста видит результат, количество правильных/неправильных ответов и процент правильных ответов. Тест можно пройти только один раз. Администратор может редактировать любой из тестов и добавлять новые. Посмотреть статистику по пользователю. Упаковать приложение в Docker-контейнер, который можно собрать и запустить локально.

Условия

  • Python 3.5 и Django 1.11 или более поздние версии.
  • Список всех зависимостей должен храниться в requirements.txt.
  • Интерфейс не важен.
  • Контейнер должен подниматься одной командой (docker run или docker-compose).
  • Приложение должно быть доступно локально на 80 порту.
  • Приложение должно быть покрыто unit-тестами.

About

Django / Docker / Тестовое задание

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors