Установите зависимости с помощью команды
pip3 install -r requirenets.txt
Запуск Django проекта через Run - "название проекта" или командой
python manage.py runserver
Реализовать трекер задач для сотрудников. Разработка API-приложения, которая позволяет отслеживать задачи и сотрудников
- Python
- Django
- Django DRF
- PostgreSQL
- JWT
- Swagger
- drf-yasg
- Для взятия задачи статус задачи должен быть "n"(new)
localhost:8000/tasks/take/<id задачи>Предварительно в аутентификации должен быть указан токен авторизированного пользователя - Для закрытия задачи:
localhost:8000/tasks/take/<id задачи>Предварительно в аутентификации должен быть указан токен авторизированного пользователя - Загруженные пользователи
localhost:8000/users/Список пользователей отсортирован по количеству задач - Важные задачи:
localhost:8000/tasks/important - Для заполнения БД можно использовать кастомную команду
python3 manage.py add_data. Она генерирует случайные задачи и пользователей. Так же создает администратора (admin@admin.ru)
Модели
User:
- фамилия;
- имя;
- отчество;
- email*;
- пароль*;
- телефон;
- должность;
- город;
- аватарка.
Task:
- название*;
- описание*;
- дата создания;
- дата изменения;
- исполнитель;
- создатель;
- дедлайн*;
- статус.
* - обязательные поля
Необходимо реализовать серверное приложение для работы с базой данных. Требования к базе данных:
1) БД реляционная (желательно Postgres)
2) БД представляет собой трекер задач и содержит следующие таблицы:
таблица сотрудников (ФИО, должность, телефон, город, аватар, почта);
таблица задач (наименование, ссылка на родительскую задачу, если есть зависимость, исполнитель, срок, статус, создатель, дата создания, дата изменения).
Реализовать на Python REST API со следующими эндпоинтами:
CRUD для сотрудников и задач
"Занятые сотрудники": Запрашивает из БД список сотрудников и их задачи, отсортированный по количеству активных задач.
"Важные задачи":
1) запрашивает из БД задачи не взятые в работу, и от которых
зависят другие задачи, взятые в работу.
2) реализует поиск по сотрудникам, которые могут взять такие
задачи (наименее загруженный сотрудник или сотрудник выполняющий родительскую задачу если ему назначено максимум на 2 задачи больше, чем у наименее загруженного сотрудника).
3) возвращает Список объектов [{Важная задача, Срок, [ФИО сотрудника]}].