Skip to content

API для системы опросов пользователей

Notifications You must be signed in to change notification settings

FalseHuman/fabrique

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Опрос пользователей (Django REST Framework)

Задача: спроектировать и разработать API для системы опросов пользователей. Примечание: Так как времени было всего 4 часа, я не смог реализовать прохождение опроса анонимно, поэтому при отправке запросов необходимо прилагать токен. Задумка реализации для прохождения опроса анонимным пользователем: на пользователя создается токен без пароля, сам токен сохраняется в локальном хранилище на фронтенде, и на основании токена сохраняются данные опроса анонимным пользователем.

Функционал для администратора системы:

  • авторизация в системе (регистрация не нужна)
  • добавление/изменение/удаление опросов. Атрибуты опроса: название, дата старта, дата окончания, описание. После создания поле "дата старта" у опроса менять нельзя
  • добавление/изменение/удаление вопросов в опросе. Атрибуты вопросов: текст вопроса, тип вопроса (ответ текстом, ответ с выбором одного варианта, ответ с выбором нескольких вариантов)

Функционал для пользователей системы:

  • получение списка активных опросов
  • прохождение опроса: опросы можно проходить анонимно, в качестве идентификатора пользователя в API передаётся числовой ID, по которому сохраняются ответы пользователя на вопросы; один пользователь может участвовать в любом количестве опросов
  • получение пройденных пользователем опросов с детализацией по ответам (что выбрано) по ID уникальному пользователя

Использовать следующие технологии: Django 2.2.10, Django REST framework.

Результат выполнения задачи:

  • исходный код приложения в github (только на github, публичный репозиторий)
  • инструкция по разворачиванию приложения (в docker или локально)
  • документация по API

Как запустить

Первоначальная установка

pip install -r requirements.txt
python manage.py migrate
python manage.py createsuperuser

Создаём супер-юзера с именем admin и паролем admin.

Запуск сервера

python manage.py runserver

Документация

После запуска сервера доступна по адресу [http://127.0.0.1:8000/swagger/]

About

API для системы опросов пользователей

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages