Задача: спроектировать и разработать API для системы опросов пользователей.
Функционал для администратора системы:
- авторизация в системе (регистрация не нужна)
/api-auth/login либо /admin
- добавление/изменение/удаление опросов. Атрибуты опроса: название, дата старта, дата окончания, описание. После создания поле "дата старта" у опроса менять нельзя
/api/v1/polls/poll
- добавление/изменение/удаление вопросов в опросе. Атрибуты вопросов: текст вопроса, тип вопроса (ответ текстом, ответ с выбором одного варианта, ответ с выбором нескольких вариантов)
/admin/polls/question
Функционал для пользователей системы:
- получение списка активных опросов:
GET /api/v1/polls/?active=True
- прохождение опроса:
POST /api/v1/completed_polls
- получение пройденных пользователем опросов с детализацией по ответам (что выбрано) по ID уникальному пользователя
GET /api/v1/users/<uuid>
Технологии: Django 2.2.10, Django REST framework.
- С помощью docker-compose:
$ docker-compose up
- Локально:
$ python3 -m venv venv
$ source venv/bin/activate
$(venv) pip install -r requirements.txt
$(venv) python manage.py migrate
$(venv) python manage.py load_trash
$(venv) python manage.py runserver <port>