Проект представляет собой API сервиса по управлению задачами. В сервисе есть два типа пользователей. Заказчики могут создавать задачи, а Сотрудники - назначать себе задачи для выполнения.
Управление пользователями осуществляется через админ-панель.
Авторизация пользователей для работы с API проходит посредству JWT-токенов (access и refresh).
- Python 3.10
- Django 5.0
- Django Rest Framework 3.15
Полный список зависимостей находится в файле requirements.txt.
Здесь указаны основные команды для установки и настройки проекта.
git clone https://github.com/Fy5tew/security-online-test-task.git
pip install -r requirements.txt
python manage.py migrate
python manage.py runserver
python manage.py createsuperuser
Созданный суперпользователь имеет права для доступа к админ-панели и редактирования записей в базе данных. От его имени необходимо создать типы пользователей, определенные в файле настроек, а так же дополнительных пользователей - заказчиков и сотрудников. Параметр ALLOWED_USER_TYPES отвечает за то, какие типы пользователей имеют доступ к API.
ALLOWED_USER_TYPES = {
'EMPLOYEE_TYPE_NAME': 'Employee',
'CUSTOMER_TYPE_NAME': 'Customer',
}
Управление пользователями и другими объектами может проводиться суперпользователем через админ-панель, которая доступна по адресу /admin.
Зарегистрированные пользователи могут взаимодействовать с сервисом с помощью REST API по адресу /api/v1/. Здесь доступны методы для работы как сотрудников, так и заказчиков.
Доступен экспорт коллекции запросов Postman для эндпоинтов - endpoints.postman_collection.json.