Все команды для удобства добавлены в 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-тестами.