-
Notifications
You must be signed in to change notification settings - Fork 0
Selagru/inquirer-api
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
сборка для postgresql (по умолчанию): docker-compose run web python /code/manage.py migrate --noinput docker-compose run web python /code/manage.py createsuperuser --username admin --email [email protected] docker-compose up -d --build Если хотите БД SQLite3 с уже имеющимся опросом, в settings.py, параметру "POSTGRESQL_DB" присвойте значение False. Выполните "docker-compose up -d --build" аутентификация пользователя происходит следующим образом: Если пользователь зарегистрирован в системе и отвечает на вопросы из-под своего аккаунта, для его распознования используются данные его аккаунта. Если пользователь не зарегистрирован, либо не авторизован, для его распознавания используется уникальный браузерный сессионный ключ. (request.session.session_key) Функционал для администратора системы: 1. вариант - http://localhost:8000/admin/ (админка Django) /polls/poll/ - Добавление, редактиврование, удаление опросов (при добавлении/редактировании есть возможность сразу добавить и вопросы) /polls/question/ - Добавление, редактиврование, удаление вопросов (при добавлении/редактировании есть возможность добавить/редактировать/удалить варианты ответов) Имеется возможность фильтрации по опросам и типам вопросов. /polls/answer/ - Просмотр, добавление, редактиврование, удаление ответов. Имеется возможность фильтрации по опросам, вопросам, пользователю и уникальному ключу браузерной сессии. /polls/singlechoice/ - Просмотр, добавление, редактиврование, удаление вариантов ответа с единственным выбором. Имеется возможность фильтрации по опросам, вопросам. Так же, каждому варианту можно назначить баллы, для отслеживания прогресса. /polls/multiplechoice/ - Просмотр, добавление, редактиврование, удаление вариантов ответа с множественным выбором. Имеется возможность фильтрации по опросам, вопросам. Так же, каждому варианту можно назначить баллы, для отслеживания прогресса. 2. вариант - http://localhost:8000/ (GET, POST, PUT, PATCH, DELETE только для админа) /polls/ Добавление опросов. (инстанс опроса определен по маске /polls/<pk>, где pk - первичный ключ в таблице опросов. Во вкладке инстанса доступны редактиврование и удаление.) Доступен фильтр по ID\PK. Пример добавления готового опроса "На сколько вам нравится ваша работа?" на примере POST JSON: (http://localhost:8000/polls/) ===================================================================================================================================== { "name": "На сколько вам нравится ваша работа?", "description": "Опрос направлен на сбор информации о том, на сколько вы довольны своей работой", "end_date": null, "questions": [ { "text": "Сколько вам платят?", "question_type": "single", "singlechoice_set": [ { "title": "Мало", "points": 0 }, { "title": "Нормально", "points": 10 }, { "title": "Много", "points": 0 } ] }, { "text": "Выберите лучшее в своей работе", "question_type": "multiple", "multiplechoice_set": [ { "title": "Зарплата", "points": 10 }, { "title": "Коллектив", "points": 20 }, { "title": "Отсутствие обязательств", "points": 0 } ] }, { "text": "test single question", "question_type": "single", "singlechoice_set": [ { "title": "single1", "points": 0 }, { "title": "single2", "points": 10 }, { "title": "single3", "points": 0 } ] }, { "text": "test multiple question", "question_type": "multiple", "multiplechoice_set": [ { "title": "multiple", "points": 0 }, { "title": "multiple", "points": 0 }, { "title": "multiple", "points": 0 } ] }, { "text": "Опишите, что бы вы изменили, если бы стали начальником.", "question_type": "text" } ] } ===================================================================================================================================== Функционал для пользователя: 1. http://localhost:8000/ (просмотр опросов (/polls/) и вопросов (/questions/) с фильтрами по опросам) 2. http://127.0.0.1:8000/answer/ (GET: для подробного отображения ответов. (каждый пользователь видит только свои ответы.)) (POST: для ответов на вопросы. Доступны Json и HTML форма. Присутствует проверка да принадлежность варианта ответа вопросу.) 3. http://127.0.0.1:8000/user_answers/ (доступен только GET метод) Подробная сводка с ответами пользователя по всем пройденным опросам.
About
Test case for "Solution Factory" (Python-разработчик (Django, DRF))
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published