Запуск: Используйте виртуальное окружение, вложенное в проект, для запуска python manage.py runserver
API:
Эндпоинты: Отправление на http://localhost/api/v1/
С авторизацией: tests/ - полный список всех тестов и их атрибутов q/ - тоже самое с вопросами
tests/int:id/ - отредактировать поля опроса q/int:id/ - аналогично с вопросами
tests/int:id/delete/ - удаление теста по id q/int:id/delete/ - удаление вопроса по ид
view/user=str:user_idtest=int:test_id/ - Запрос решения конкретного пользователя конкретного опроса
Клиентская часть: client/list/ - получить список активных опросов
client/study/int:id/ - прохождение опроса. GET - получить вопросы, POST - отправить ответы. О том как формировать POST в Логике (ниже)
Администраторская часть апи работает через JWT (bearer token) Готовый токен прилагаю далее eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6MSwiZXhwIjoxNjQxNzM4MTk1fQ.LzMaZ3r6x-k6e-3eLagxOXluahLTSeNQRf5ByQe7Kow Администрация - имеет на сервисе аккаунты и благодаря токенам может использовать функции управления проектом Юзеры - не авторизуются, они лишь получают уникальный id для записи в бд данных о них итд..
Логика: Для создания нового опроса необходимо создать с помощью соотвествующего эндпоинта все нужные вопросы. Далее сздать сам объект текста, заполнив поле questions списком из id полагающихся ему вопросов. Пользователь запрашивает список опросов/тестов и получает из них только активные. Далее запрашивает тест, получает вопросы. Для ЗАПИСИ ответов необходимо отправить на соотвествующий эндпоинт: { "answers": [список из ответов] }
Администратор может запросить решение через один из эндпоинтов в котором указывается ид пользователя и ид теста(опроса)
ДЛЯ СОЗДАНИЯ АДМИНА: http://localhost/api/clients/create/ - после валидации email, username, password выдает токен http://localhost/api/clients/auth/ - авторизация по email, password тоже вернет токен