Демо: https://python-project-52-nw7g.onrender.com/
Менеджер задач — это веб-приложение для управления задачами, разработанное на Django. Система позволяет создавать, редактировать и отслеживать задачи с поддержкой статусов, меток и назначения исполнителей.
- Регистрация новых пользователей
- Аутентификация и авторизация
- Просмотр списка пользователей
- Удаление пользователей
- Создание новых задач с подробным описанием
- Редактирование существующих задач
- Удаление задач
- Просмотр детальной информации о задаче
- Список всех задач с фильтрацией
- Создание пользовательских статусов для задач
- Редактирование статусов
- Удаление статусов
- Список всех доступных статусов
- Создание меток для категоризации задач
- Редактирование меток
- Удаление меток
- Список всех меток
- Назначение исполнителей на задачи
- Привязка задач к статусам
- Добавление меток к задачам
- Каждая задача имеет автора (создателя)
- Backend: Django 5.2.8
- Frontend: Bootstrap 5 (через django-bootstrap5)
- База данных: SQLite (разработка) / PostgreSQL (продакшен)
- Развертывание: Gunicorn
- Мониторинг: Rollbar
- Python: >= 3.11
- Python 3.11 или выше
- pip или uv (рекомендуется)
git clone <repository-url>
cd python-project-52# Используя uv (рекомендуется)
uv sync
# Или используя pip
pip install -r requirements.txtСоздайте файл .env в корневой директории:
SECRET_KEY=your-secret-key-here
DEBUG=True
DATABASE_URL=sqlite:///db.sqlite3
ROLLBAR_ACCESS_TOKEN=your-rollbar-token-herepython manage.py migratepython manage.py createsuperuserpython manage.py loaddata task_manager/statuses/fixtures/statuses.json
python manage.py loaddata task_manager/users/fixtures/users.jsonpython manage.py runserverПриложение будет доступно по адресу: http://127.0.0.1:8000
task_manager/
├── users/ # Управление пользователями
├── statuses/ # Управление статусами задач
├── tasks/ # Управление задачами
├── labels/ # Управление метками
└── templates/ # HTML шаблоны
├── base.html # Базовый шаблон
├── users/ # Шаблоны пользователей
├── statuses/ # Шаблоны статусов
├── tasks/ # Шаблоны задач
└── labels/ # Шаблоны меток
- name: Название задачи
- description: Подробное описание
- author: Автор задачи (ForeignKey к User)
- executor: Исполнитель задачи (ForeignKey к User, опционально)
- status: Статус задачи (ForeignKey к Status)
- labels: Метки задачи (ManyToMany к Label)
- created_at: Дата создания
- name: Название статуса
- created_at: Дата создания
- name: Название метки (уникальное)
- created_at: Дата создания
# Запуск сервера разработки
python manage.py runserver
# Создание миграций
python manage.py makemigrations
# Применение миграций
python manage.py migrate
# Создание суперпользователя
python manage.py createsuperuser# Запуск тестов
python manage.py test
# Запуск тестов с покрытием
coverage run --source='.' manage.py test
coverage report# Сборка статических файлов
python manage.py collectstatic
# Запуск с Gunicorn
gunicorn task_manager.wsgi:applicationЭтот проект создан в рамках обучающего курса Hexlet.
Проект разработан в рамках курса "Python-разработчик" на платформе Hexlet.
Для получения поддержки и вопросов, пожалуйста, создайте issue в репозитории проекта.