Task Manager - это веб-приложение для управления задачами. Пользователи могут создавать, редактировать, удалять задачи, а также отмечать их как выполненные и добавлять в избранное.
-
Python
-
Django
-
Django REST Framework
-
Gunicorn
-
mysqlclient
- Клонируйте репозиторий на свой компьютер:
git clone https://github.com/IlyaKorol/tm.git
- Перейдите в директорию проекта:
cd tm/task_manager/task_manager
- Установите виртуальное окружение:
python3 -m venv [имя_окружения]
например python3 -m venv myenv
- Активируйте виртуальное окружение:
- На Windows:
myenv\Scripts\activate
- На macOS/Linux:
source myenv/bin/activate
- Установите зависимости:
pip install -r requirements.txt
- Настройте базу данных в файле settings.py.
6.1. Установите базу данных:
pip install mysqlclient
Примените миграции:
python manage.py migrate
Если после этого не удалось настроить базу данных, тогда следуйте следующему алгоритму:
-
pip install mysql-connector-python
-
зайдите в файл settings.py
nano task_manager/settings.py
В файле settings.py замените в DATABASES замените 'ENGINE': 'django.db.backends.mysql'
на 'ENGINE': 'mysql.connector.django'
- Примените миграции:
python manage.py migrate
- Создайте суперпользователя:
python manage.py createsuperuser
- Запустите локальный сервер разработки Django:
python manage.py runserver
- Откройте браузер и перейдите по адресу http://127.0.0.1:8000/.
-
URL: /api/tasks/
-
Метод: GET
-
Описание: Возвращает список всех задач.
Формат ответа:
[
{
"id": 1,
"title": "Название задачи",
"description": "Описание задачи",
"priority": 1,
"due_date": "2024-12-31",
"completed": false,
"user": 1,
"created_at": "2024-06-05T12:00:00Z"
},
...
]
Создание новой задачи
-
URL: /api/tasks/
-
Метод: POST
-
Описание: Создает новую задачу.
Параметры запроса:
-
title (обязательно): Название задачи.
-
description (опционально): Описание задачи.
-
priority (обязательно): Приоритет задачи (1 - Low, 2 - Medium, 3 - High).
-
due_date (обязательно): Дата завершения задачи (формат YYYY-MM-DD).
-
completed (опционально): Статус выполнения задачи (по умолчанию false).
Пример запроса:
{
"title": "Новая задача",
"description": "Описание новой задачи",
"priority": 2,
"due_date": "2024-12-31",
"completed": false
}
Формат ответа:
{
"id": 1,
"title": "Новая задача",
"description": "Описание новой задачи",
"priority": 2,
"due_date": "2024-12-31",
"completed": false,
"user": 1,
"created_at": "2024-06-05T12:00:00Z"
}
Обновление задачи
-
URL:
/api/tasks/<id>/
-
Метод: PUT
-
Описание: Обновляет задачу по ее ID.
Параметры запроса: Такие же, как и для создания новой задачи.
Удаление задачи
-
URL:
/api/tasks/<id>/
-
Метод: DELETE
-
Описание: Удаляет задачу по ее ID.
Получение списка избранных задач
-
URL:
/api/favorite-tasks/
-
Метод: GET
-
Описание: Возвращает список всех избранных задач.
Формат ответа:
[
{
"id": 1,
"user": 1,
"task": 1
},
...
]
- Установите Gunicorn:
pip install gunicorn
- Запустите Gunicorn командой:
gunicorn --workers=4 task_manager.wsgi:application
-
Перейдите на страницу "Создать задачу".
-
Заполните форму создания задачи, указав название, описание и другие необходимые данные.
-
Нажмите кнопку "Создать", чтобы сохранить задачу.
-
На главной странице отображается список всех задач.
-
Чтобы просмотреть подробную информацию о задаче, нажмите на ее название.
-
Для редактирования задачи нажмите кнопку "Изменить" на странице просмотра задачи.
-
Для удаления задачи перейдите на страницу просмотра задачи.
-
Нажмите кнопку "Удалить".
-
Подтвердите удаление, если система запросит подтверждение.
-
Чтобы добавить задачу в избранное, нажмите кнопку "Добавить в избранное" на странице просмотра задачи.
-
Чтобы удалить задачу из избранного, нажмите кнопку "Удалить из избранного" на странице просмотра задачи.
Если у вас есть вопросы или предложения, вы можете связаться с разработчиком по email: ilyakorol94@gmail.com.