Тестовое задание для КазАэро Space
docker run --name todoapp-db -p 4432:5432 -e POSTGRES_USER=todoapp_user -e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=todoapp_db -d postgres:13.3
При первом запуске:
- создать БД в Postgres
- создать в корне приложения файл .env по образцу файла .env_example
- открыть проект в pyCharm ибо другой IDE
- cd путь_до_проекта/todoapp-kazaerospace
- python -m venv venv
- если на Windows:
- venv\Scripts\activate
- если на Linux:
- source env/bin/activate
- когда окружение удачно активировалось устанавливаем зависимости: pip install - r requirements.txt
- python manage.py migrate
- python manage.py createsuperuser --username todo_admin --email [email protected]
- python manage.py autofill_groups
- запускаем проект
Регистрация нового пользователя:
username и email уникальны, password и password2 должны совпадать, так как это подтверждение введеного пароля
POST /api/v1/user/register/
body_example:
{
"username":"user_1",
"password":"Pass123!",
"password2":"Pass123!",
"email":"[email protected]",
"last_name":"Иванов",
"first_name":"Иван"
}
** Авторизация **
POST /api/v1/user/login/
body_example:
{
"username":"user_1",
"password":"Pass123!"
}
В результате выполнения запроса вы получите access_token
Его надо будет скопировать и отправлять в других запросах к данным, ниже пример
Добавление новой задачи
POST /api/v1/cardlist/card/
Authorization: Bearer - значение access_token
{
"subject": "Task 1 Subject",
"description": "Task 1 Description",
"status": "DOING",
"executors": [
{
"executor": 4,
"notifications": [
{"notif_datetime": "2022-07-30"},
{"notif_datetime": "2022-08-01"}
]
}
]
}
поле status можно не отправлять, тогда оно по умолчанию будет LATER
Возможные значения - DOING, LATER, DONE