# Export Formats - VoIdea **Дата:** 2026-05-10 **Статус:** Backlog (часть WebUI) --- ## Обзор Экспорт идей в различных форматах для резервного копирования и интеграции. --- ## Поддерживаемые форматы ### 1. JSON **Использование:** Резервное копирование, импорт в другие системы ```json { "version": "1.0.0", "exported_at": "2026-05-10T12:00:00Z", "ideas": [ { "id": "uuid", "title": "Моя идея", "content": "Описание", "created_at": "2026-05-01T10:00:00Z", "updated_at": "2026-05-05T15:30:00Z", "analysis": { "coordinator": {...}, "organizer": {...} } } ] } ``` ### 2. Markdown **Использование:** Интеграция с Obsidian, Notion, блогами ```markdown # Моя идея ## Описание Текст идеи ## Анализ ### Координатор ... ### Организатор ... *Экспортировано: 2026-05-10* ``` ### 3. PDF **Использование:** Печать, отчёты, презентации - Титульный лист с датой - Оглавление - Каждая идея — отдельная секция - Анализ ИИ-агентов ### 4. CSV (опционально) **Использование:** Аналитика, таблицы ```csv id,title,created_at,analysis_count uuid,Моя идея,2026-05-01,5 ``` --- ## API ```python # Экспорт всех идей пользователя GET /api/v1/export?format=json|markdown|pdf # Экспорт одной идеи GET /api/v1/ideas/{id}/export?format=json|markdown|pdf # Параметры ?include_analysis=true # Включить ИИ-анализ ?include_metadata=true # Включить метаданные ``` --- ## Обработка больших объёмов 1. **Асинхронная генерация** — Celery task 2. **Progress tracking** — WebSocket/SSE 3. **Download link** — после завершения ```python # Celery task @celery.task def generate_export(user_id: UUID, format: str): # 1. Создать задачу export_task = create_export_task(user_id, format) # 2. Генерация result = await generate_file(export_task) # 3. Уведомление await notify_user(user_id, export_task.id) return result ``` --- ## Права доступа - Экспорт только своих идей - Анализ доступен только владельцу - Логирование всех экспортов --- ## TODO - [ ] Создать export service - [ ] Реализовать JSON export - [ ] Реализовать Markdown export - [ ] Реализовать PDF export (weasyprint) - [ ] Асинхронная генерация - [ ] UI (кнопка экспорта) - [ ] Тесты - [ ] Документация --- *Создано: 2026-05-10* *Часть WebUI (Block 4)*