Files
dz/solutions/69dd4221f309a98be0006b2e_сырой_текст_задания___плоская_карточка

Сырой текст задания → плоская карточка

Проект преобразует сырой текст (описание задачи, требования и т.д.) в плоскую карточку, пригодную для визуализации в системах управления задачами (Jira, Trello, Notion и др.).
Он разбирает входной файл, выделяет ключевые элементы (название, описание, критерии приёмки, сроки) и генерирует готовую Markdown‑карточку.

Важно – проект написан на Python 3.10+ и использует только стандартную библиотеку и небольшие сторонние пакеты для парсинга Markdown.


📦 Установка зависимостей

# Создайте виртуальное окружение (рекомендуется)
python -m venv .venv
source .venv/bin/activate   # Windows: .\.venv\Scripts\activate

# Установите зависимости из файла requirements.txt
pip install -r requirements.txt

requirements.txt содержит:

markdown==3.4.1
rich==13.7.0          # для красивого вывода в консоли (необязательно)

📁 Структура проекта

Файл Описание
raw_to_card.py Главный скрипт, который читает сырой текст и выводит карточку.
parse_raw_text.py Модуль парсинга – выделяет заголовки, списки, блоки кода и т.д.
card_generator.py Формирует финальный Markdown‑файл с нужным шаблоном.
tests/ Юнит‑тесты для каждого модуля.

🚀 Запуск

1️⃣ Простой запуск из командной строки

python raw_to_card.py --input task.txt --output card.md
  • --input – путь к файлу с сырой задачей (может быть .txt, .md).
  • --output – куда сохранить готовую карточку (.md). Если опустить, вывод будет в stdout.

2️⃣ Запуск через make

make run INPUT=task.txt OUTPUT=card.md

3️⃣ Тестирование

pytest tests/

📄 Пример использования

Входной файл (task.txt):

# Разработка API для обработки заказов

Нужно создать REST‑API, которое будет принимать POST запросы с JSON‑объектом заказа и сохранять его в БД.

## Требования к функционалу
- Валидация входных данных.
- Ответ 201 при успешном создании.
- Ошибки возвращаются с кодами 400/422.

## Критерии приёмки
1. API принимает корректный JSON и сохраняет заказ.
2. При некорректном JSON клиент получает 400 со списком ошибок.
3. Тесты покрывают все ветви логики.

## Сроки
- Дедлайн: **20260630**.

Запуск:

python raw_to_card.py --input task.txt --output card.md

Выход (card.md):

# Разработка API для обработки заказов

Нужно создать REST‑API, которое будет принимать POST запросы с JSON‑объектом заказа и сохранять его в БД.

## Требования к функционалу
- Валидация входных данных.
- Ответ 201 при успешном создании.
- Ошибки возвращаются с кодами 400/422.

## Критерии приёмки
1. API принимает корректный JSON и сохраняет заказ.
2. При некорректном JSON клиент получает 400 со списком ошибок.
3. Тесты покрывают все ветви логики.

**Сроки:** 20260630

📚 Документация

  • parse_raw_text.py – парсинг текста с помощью регулярных выражений и библиотеки markdown.
  • card_generator.py – шаблон карточки, который можно изменить в файле templates/card_template.md.

Для более подробной информации смотрите комментарии внутри файлов.


🤝 Вклад

Если хотите улучшить проект:

  1. Форкните репозиторий.
  2. Создайте ветку (feature/имя-изменения).
  3. Добавьте тесты и отправьте Pull Request.

Автор: [Ваше имя]
Дата создания: 20260526