Таск-менеджер на Django, реализующий CRUD для пользователей, статусов, меток и задач, а также интеграцию с Rollbar для сбора ошибок.
Чтобы быстро посмотреть приложение в действии, нажмите на бейдж сверху или откройте сайт — регистрация свободная.
В данном проекте:
- Регистрация и аутентификация пользователей.
- CRUD (создание, чтение, обновление, удаление) для:
- Пользователей
- Статусов задач
- Меток (labels)
- Задач (tasks) с привязкой к статусу, исполнителю, меткам и автору.
- Фильтрация списка задач по статусу, исполнителю, меткам и автору.
- Flash-сообщения при успешных операциях.
- Полная русификация интерфейса.
- Сбор ошибок в Rollbar.
- Python 3.11+
- Django 3.2+
- Django-bootstrap5
- Django-filter
- dj-database-url
- Gunicorn
- Python-dotenv
- Rollbar
-
Склонируйте репозиторий:
git clone https://github.com/Maxcosanostra/python-project-52 cd python-project-52 -
Создайте виртуальное окружение и установите зависимости:
python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt -
Создайте файл
.envна основе примера:cp .env.example .env
-
Откройте
.envи заполните:DJANGO_SECRET_KEY=<ваш секретный ключ> DEBUG=True ROLLBAR_ACCESS_TOKEN=<ваш токен Rollbar>
-
Примените миграции:
python manage.py migrate
-
Запустите сервер разработки:
python manage.py runserver
Запуск тестов:
python manage.py test- Зарегистрируйтесь на Rollbar.
- Создайте проект, получите access token с правом записывать (write).
- Вставьте
ROLLBAR_ACCESS_TOKENв ваш файл.env. - Проект автоматически инициализирует Rollbar через
settings.py. - Ошибки в продакшен-среде будут отправляться в ваш аккаунт Rollbar.
Render.com позволяет быстро развернуть Django‑приложение.
- Зарегистрируйтесь или войдите в Render.
- Создайте новый Web Service.
- Подключите ваш GitHub‑репозиторий python-project-52.
- Build Command: make build
- Start Command: make render-start
- Environment Variables: SECRET_KEY из .env
- Сохраните и дождитесь успешного билда и деплоя.
Ваш сервис будет доступен по URL, указанному Render.
Разрешено коммитить:
settings.py(читает секреты из окружения).env.example(с примером переменных)README.md,requirements.txt, исходный код, миграции, шаблоны, статические файлы
Запрещено коммитить:
- Реальный файл
.envс вашими секретами - Живые значения
SECRET_KEYилиROLLBAR_ACCESS_TOKENв коде db.sqlite3и другие файлы баз данных- Медиа‑файлы и пользовательские загрузки