# Сырой текст задания → плоская карточка Проект преобразует **сырой текст** (описание задачи, требования и т.д.) в **плоскую карточку**, пригодную для визуализации в системах управления задачами (Jira, Trello, Notion и др.). Он разбирает входной файл, выделяет ключевые элементы (название, описание, критерии приёмки, сроки) и генерирует готовую Markdown‑карточку. > **Важно** – проект написан на Python 3.10+ и использует только стандартную библиотеку и небольшие сторонние пакеты для парсинга Markdown. --- ## 📦 Установка зависимостей ```bash # Создайте виртуальное окружение (рекомендуется) python -m venv .venv source .venv/bin/activate # Windows: .\.venv\Scripts\activate # Установите зависимости из файла requirements.txt pip install -r requirements.txt ``` `requirements.txt` содержит: ```text markdown==3.4.1 rich==13.7.0 # для красивого вывода в консоли (необязательно) ``` --- ## 📁 Структура проекта | Файл | Описание | |------|----------| | `raw_to_card.py` | Главный скрипт, который читает сырой текст и выводит карточку. | | `parse_raw_text.py` | Модуль парсинга – выделяет заголовки, списки, блоки кода и т.д. | | `card_generator.py` | Формирует финальный Markdown‑файл с нужным шаблоном. | | `tests/` | Юнит‑тесты для каждого модуля. | --- ## 🚀 Запуск ### 1️⃣ Простой запуск из командной строки ```bash python raw_to_card.py --input task.txt --output card.md ``` - **--input** – путь к файлу с сырой задачей (может быть `.txt`, `.md`). - **--output** – куда сохранить готовую карточку (`.md`). Если опустить, вывод будет в stdout. ### 2️⃣ Запуск через `make` ```bash make run INPUT=task.txt OUTPUT=card.md ``` ### 3️⃣ Тестирование ```bash pytest tests/ ``` --- ## 📄 Пример использования **Входной файл (`task.txt`):** ```text # Разработка API для обработки заказов Нужно создать REST‑API, которое будет принимать POST запросы с JSON‑объектом заказа и сохранять его в БД. ## Требования к функционалу - Валидация входных данных. - Ответ 201 при успешном создании. - Ошибки возвращаются с кодами 400/422. ## Критерии приёмки 1. API принимает корректный JSON и сохраняет заказ. 2. При некорректном JSON клиент получает 400 со списком ошибок. 3. Тесты покрывают все ветви логики. ## Сроки - Дедлайн: **2026‑06‑30**. ``` **Запуск:** ```bash python raw_to_card.py --input task.txt --output card.md ``` **Выход (`card.md`):** ```markdown # Разработка API для обработки заказов Нужно создать REST‑API, которое будет принимать POST запросы с JSON‑объектом заказа и сохранять его в БД. ## Требования к функционалу - Валидация входных данных. - Ответ 201 при успешном создании. - Ошибки возвращаются с кодами 400/422. ## Критерии приёмки 1. API принимает корректный JSON и сохраняет заказ. 2. При некорректном JSON клиент получает 400 со списком ошибок. 3. Тесты покрывают все ветви логики. **Сроки:** 2026‑06‑30 ``` --- ## 📚 Документация - `parse_raw_text.py` – парсинг текста с помощью регулярных выражений и библиотеки `markdown`. - `card_generator.py` – шаблон карточки, который можно изменить в файле `templates/card_template.md`. Для более подробной информации смотрите комментарии внутри файлов. --- ## 🤝 Вклад Если хотите улучшить проект: 1. Форкните репозиторий. 2. Создайте ветку (`feature/имя-изменения`). 3. Добавьте тесты и отправьте Pull Request. --- **Автор:** *[Ваше имя]* **Дата создания:** 2026‑05‑26