Программа, на которой отрабатывается вся практика курса, и требования к ней
«Задачник» — небольшое веб-приложение для списка дел: регистрация и вход, задачи со сроком и приоритетом, статусы, фильтры и поиск. У него есть веб-интерфейс для человека и JSON API для программ. Приложение написано для курса и содержит заложенные дефекты: их и предстоит найти, описать и проверить исправление.
Вся практика курса идёт на нём, поэтому результаты у всех сопоставимы: если в баг-репорте написано «на учебных данных у пользователя ivan счётчик показывает 3», преподаватель увидит то же самое.
Нужен только Python 3.10 или новее — без дополнительных пакетов, Docker и сервера баз данных. Проверьте версию:
# Windows (PowerShell)
py --version
# Linux
python3 --version
В Windows Python ставится с python.org (флажок «Add python.exe to PATH»), в Debian и Ubuntu он уже есть. Затем:
tasker, и скачайте в неё tasker.py.http://127.0.0.1:8000.# Windows
py tasker.py
# Linux
python3 tasker.py
Терминал не закрывайте: в нём работает сервер и печатается журнал запросов. Остановить — Ctrl+C.
Первый запуск в Linux выглядит так (время и путь у вас будут свои):
$ python3 tasker.py
2026-10-29 10:45:00 Учебные данные созданы: /home/padmin/tasker/tasker.db
2026-10-29 10:45:00 Задачник 1.0: http://127.0.0.1:8000 — остановить: Ctrl+C
| Логин | Пароль | Что у него |
|---|---|---|
ivan | Ivan2026pass | 8 задач во всех статусах, с прошедшими и будущими сроками — основной пользователь практики |
maria | Maria2026pass | 3 задачи — нужны, чтобы проверять, видит ли ivan чужие данные |
Сроки учебных задач отсчитываются от текущей даты, поэтому картина одинакова в любой день: у ivan всегда есть задача на сегодня, задачи с прошедшим сроком и задача без срока.
| Команда | Что делает |
|---|---|
py tasker.py --reset | Удаляет все изменения и создаёт учебные данные заново. Перед каждым заданием и перед воспроизведением дефекта |
py tasker.py --version 1.1 | Новая версия приложения — для раздела 11 «Тестовый процесс»: часть дефектов исправлена, но не только |
py tasker.py --port 8080 | Другой порт, если 8000 занят |
Рядом с tasker.py появляются два файла: tasker.db — база данных SQLite (раздел 10 открывает её напрямую) и tasker.log — журнал запросов с ошибками сервера. Версия приложения видна в заголовке страницы: «Задачник 1.0».
Требования написаны так, как их пишут в реальных проектах: большая часть точна, но не всё однозначно и не всё учтено. Как проверять сами требования, разобрано в разделе 03. В тест-кейсах и баг-репортах ссылайтесь на номер требования: «нарушено Т3».
ivan, зарегистрировать Ivan нельзя.http://127.0.0.1:8000/api/openapi.json.{"error": "текст"}.| Сообщение | Причина и что делать |
|---|---|
"py" не является … командой / python: command not found | Python не установлен или не добавлен в PATH. В Windows переустановите с флажком «Add python.exe to PATH» |
SyntaxError при запуске | Python старше 3.10 — нужна более новая версия |
Порт 8000 занят (…). Закройте другой Задачник или запустите с --port 8080 | Порт 8000 занят — например, «Задачник» уже запущен в другом окне. Закройте его или запустите с --port 8080 |
| Браузер: «Не удаётся получить доступ к сайту» | Сервер не запущен или терминал закрыт. Адрес — именно 127.0.0.1:8000: приложение доступно только с вашего компьютера |