Initial commit: VoIdeaAI - voice-first AI idea assistant
This commit is contained in:
@@ -0,0 +1,143 @@
|
||||
# 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)*
|
||||
Reference in New Issue
Block a user