Skip to content

тестовый таск от компании Uchet.kz

Notifications You must be signed in to change notification settings

IkayevAibar/uchet_kz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

uchet_kz

Не проверял на запускаемость этот проект

Краткий гуайдлайн для запуска(на Windows):

Активация virtual environment

    .\venv\Scripts\activate

Установить нужные lib для проекта

    pip install -r requirements.txt

и попробовать запустить :D

    python manage.py runserver
  1. Использовал Django + DRF для задачи

  2. Приложение использует модель пользователя, где в качестве логина используется email

  3. Приложение состоит из одной модели Task, которая содержит следующие поля:

    title - Заголовок задачи (char [100])
    desc - Описание задачи (text)
    deadline - Срок исполнения (datetime)
    is_done - Выполнено (boolean)
  1. Реализованны следующие методы:
 ◦ 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) 
  1. Отправка сообщение (email) пользователю не реализован, так как имелись проблемы с мэйлом

  2. Кроме 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}]  

About

тестовый таск от компании Uchet.kz

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published