Активация virtual environment
.\venv\Scripts\activate
Установить нужные lib для проекта
pip install -r requirements.txt
и попробовать запустить :D
python manage.py runserver
-
Использовал Django + DRF для задачи
-
Приложение использует модель пользователя, где в качестве логина используется email
-
Приложение состоит из одной модели Task, которая содержит следующие поля:
title - Заголовок задачи (char [100])
desc - Описание задачи (text)
deadline - Срок исполнения (datetime)
is_done - Выполнено (boolean)
- Реализованны следующие методы:
◦ GET /api/todo/ - получение списка задач, содержащий поля ID, Заголовок, Срок исполнения, Выполнено
◦ GET /api/todo/<id:int>/ - возвращает все данные по задаче с указанным ID, возвращаются все поля
◦ POST /api/todo/ - создание новой задачи (новая задача не может быть сразу выполненной, игнорируем поле Выполнено)
◦ PATCH /api/todo/<id:int>/ - редактирование задачи
◦ DELETE /api/todo/<id:int>/ - редактирование задачи
◦ POST /api/todo/<id:int>/execute/ - ручка для пометки задачи выполненной (нужно отправить запрос в body is_done = true or false)
-
Отправка сообщение (email) пользователю не реализован, так как имелись проблемы с мэйлом
-
Кроме CRUD операций, описанных в пункте 5, реализованны 2 метода :
◦ Авторизация (email, пароль)
◦ Выход
5.1 Для Авторизации используется метод
http://127.0.0.1:8000/auth/token/login
где нужен email и password и в ответ возвращает токен
Пример:
{
"auth_token": "5fddwq2dqwd25616e5fbb90517dawd21341917cb7"
}
5.2 Для выхода из приложение используется метод
http://127.0.0.1:8000/auth/token/logout
где нужен auth token в Header
Пример:
Authorization : Token 9aa4c991e33ab709e6awd2627b052c5ba000930e
Для Postman :
[{"key":"Authorization","value":"Token 9aa4c991e33aasdw2e62627b052c5ba000930e","description":"","type":"text","enabled":true}]