-
Notifications
You must be signed in to change notification settings - Fork 0
icecube092/test_platform
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Задача Реализовать веб-сервис на базе django, представляющий собой платформу для прохождения тестов. Должны быть реализованы следующие возможности: Возможность авторизоваться как “Студент” или “Преподаватель”. Студент Возможность загрузить аватарку и добавить номер телефона. Возможность пройти выбранный тест Возможность посмотреть результат теста: список правильных и неправильных ответов и оценку (отношение правильных ответов к общему количеству) Возможность посмотреть историю пройденных тестов. Преподаватель Возможность просмотреть результат теста выбранного студента. Возможность сбросить результат теста для выбранного студента. Тесты создаются из панели администратора. Тест имеет вопрос и несколько вариантов ответов, правильный ответ должен быть только один. Реализован функционал, который раз в день собирает статистику о пройденных тестах и в фоновой задаче посылает email администратору или сообщение в telegram. Требования Данные хранятся в реляционной БД, взаимодействие с ней осуществляется посредством django ORM. Реализовано разграничение прав доступа к тестам. Приложение контейнирезировано при помощи docker; Проект не использует глобальных зависимостей за исключением: python, docker, docker-compose; Readme проекта описывает весь процесс установки, запуска и работы с сервисом; Требования к фронтенду не предъявляются; Требования к админке не предъявляются. Установка проекта: 1. docker build -t tests Dockerfile 2. docker run -it tests 3. python3 manage.py makemigrations 4. python3 manage.py migrate Запуск и использование проекта: 0. Заполнить конфиг 1. Создать суперпользователя. 2. Создать группу Teachers (важно) со всеми правами для вопросов, тестов и результатов тестов. 3. Создать тест, добавить в него вопросы с вариантами ответов. 4. Студент может найти тесты по адресу /tests и решать их, а затем смотреть результат. 5. Преподаватель может сбрасывать результат для студента на странице теста. 6. Студенты имеют профиль по адресу /profile/?user_id={user_id} и могут изменять свое фото и номер телефона, остальные могут просматривать профиль. Преподаватели профиля не имеют. 7. Сброс результата через админку должен сопровождаться удалением этого теста из профиля студента, поскольку тест и результат теста это разные модели. Недостатки: - во время сборки докерфайла возникали проблемы (хависание процесса), поэтому пришлось убрать автоматизацию миграций - не хватает автоматического создания группы для преподавателей
About
Сервис с тестами на Django
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published