Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/falsehuman/fabrique
API для системы опросов пользователей
https://github.com/falsehuman/fabrique
Last synced: 12 days ago
JSON representation
API для системы опросов пользователей
- Host: GitHub
- URL: https://github.com/falsehuman/fabrique
- Owner: FalseHuman
- Created: 2021-09-17T04:05:24.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-09-17T04:08:12.000Z (over 3 years ago)
- Last Synced: 2024-11-19T10:12:29.480Z (2 months ago)
- Language: Python
- Size: 24.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Опрос пользователей (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/]