Это веб-приложение для управления задачами, разработанное с использованием Django и Django REST Framework. Оно включает в себя регистрацию и аутентификацию пользователей, создание, редактирование и удаление задач, назначение задач другим пользователям, отметку задач как выполненные, комментирование задач, прикрепление файлов к задачам, установку дедлайнов и напоминаний, а также фильтрацию и сортировку задач.
- Регистрация и аутентификация пользователей (JWT)
- CRUD операции для задач
- Назначение задач пользователям
- Отметка задач как выполненные
- Комментирование задач
- Прикрепление файлов к задачам
- Установка дедлайнов и напоминаний
- Фильтрация и сортировка задач
- Документация API (Swagger)
- Python 3.8+
- Django 4.2+
- Django REST Framework
- djangorestframework-simplejwt
- djoser
- drf-yasg
- django-filter
- django-cors-headers
Создайте и активируйте виртуальное окружение:
python -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
Установите зависимости:
pip install -r requirements.txt
Примените миграции базы данных:
python manage.py migrate
Создайте суперпользователя для доступа к админке Django:
python manage.py createsuperuser
Запустите сервер разработки:
python manage.py runserver
Документация API доступна по следующим адресам:
POST /api/auth/users/
{
"email": "user@example.com",
"username": "user",
"password": "password123",
"re_password": "password123"
}
POST /api/auth/jwt/create/
{
"username": "user",
"password": "password123"
}
POST /api/tasks/
{
"title": "New Task",
"description": "Task description",
"assigned_to_id": 1,
"deadline": "2024-06-30T12:00:00Z",
"reminder": "2024-06-29T12:00:00Z"
}
PUT /api/tasks/{id}/
{
"title": "Updated Task",
"description": "Updated description",
"assigned_to_id": 1,
"completed": true,
"deadline": "2024-06-30T12:00:00Z",
"reminder": "2024-06-29T12:00:00Z"
}
DELETE /api/tasks/{id}/
POST /api/files/
{
"task": 1,
"file": "path/to/your/file"
}
Запуск тестов:
python manage.py test
Этот проект лицензирован под лицензией MIT. Подробности см. в файле LICENSE.