30 lines
6.1 KiB
Plaintext
30 lines
6.1 KiB
Plaintext
{
|
||
"nodes":[
|
||
{"id":"arch-1","type":"text","text":"# 🏗️ Основная Архитектура\n\n- **Nuxt 3** - Vue 3 фреймворк\n- **TailwindCSS** - Стилизация\n- **Vue Flow** - Движок канваса\n- **Firebase** - Аутентификация\n- **In-memory DB** - Хранение данных\n- **PWA** - Progressive Web App","x":100,"y":-240,"width":320,"height":290,"color":"1"},
|
||
{"id":"fe-1","type":"text","text":"# 🎨 Фронтенд\n\n- **FlowEditor.vue** - Основной редактор\n- **FlowNodeRenderer.vue** - Отображение узлов\n- **CanvasViewer.vue** - Устаревший просмотр\n- **Админ Панель** - Управление интерфейсом\n- **Система Аутентификации** - Вход через Google","x":540,"y":-265,"width":280,"height":340,"color":"2"},
|
||
{"id":"be-1","type":"text","text":"# ⚙️ Backend API\n\n- `/api/canvas/*` - CRUD операций с канвасами\n- `/api/nodes/*` - Управление узлами\n- `/api/auth/*` - Аутентификация\n- `/api/admin/*` - Административные операции\n- `/api/push/*` - Уведомления","x":540,"y":100,"width":280,"height":320,"color":"3"},
|
||
{"id":"feat-1","type":"text","text":"# ✨ Ключевые Функции\n\n- **Редактор в стиле Node-RED**\n - Палитра сбоку\n - Панель свойств\n - Drag & drop\n - Соединения проводами\n\n- **Совместимость с Obsidian**\n - Экспорт в .canvas формат\n - Импорт существующих карт\n - Поддержка Markdown\n\n- **Социальные Функции**\n - Группы пользователей\n - Общие канвасы\n - Лента активности","x":960,"y":-35,"width":300,"height":455,"color":"5"},
|
||
{"id":"db-1","type":"text","text":"## Схема Базы Данных\n\n- `users` - Пользовательские аккаунты\n- `canvases` - Ментальные карты\n- `nodes` - Отдельные узлы\n- `groups` - Группы пользователей\n- `profiles` - Профили пользователей\n- `activities` - Лента активности","x":960,"y":480,"width":300,"height":260,"color":"2"},
|
||
{"id":"deploy-1","type":"text","text":"# 🚀 Развертывание\n\n- **Docker Compose**\n- **Nginx** - Обратный прокси\n- **Gitea** - Git сервер\n- **PostgreSQL** - База данных\n- **Certbot** - SSL сертификаты","x":960,"y":790,"width":300,"height":250,"color":"3"},
|
||
{"id":"nodes-1","type":"text","text":"# 📦 Типы Узлов\n\n- **Текстовая Заметка** - Markdown контент\n- **Ссылка на Файл** - Ссылки на файлы\n- **Узел Задачи** - Отслеживание состояния\n- **AI/LLM Узел** - AI обработка\n- **Webhook Узел** - HTTP триггеры\n- **Git Sync Узел** - Контроль версий","x":100,"y":160,"width":320,"height":320,"color":"4"},
|
||
{"id":"social-1","type":"text","text":"# 👥 Социальная Сеть\n\n- **Профили Пользователей**\n - Аватар и био\n - Статистика канвасов\n - Подписчики/подписки\n\n- **Система Групп**\n - Публичные/приватные группы\n - Ролевые разрешения\n - Общие канвасы","x":100,"y":1000,"width":320,"height":320,"color":"4"},
|
||
{"id":"tech-1","type":"text","text":"# 🛠️ Технологический Стек\n\n```json\n{\n \"frontend\": \"Vue 3 + Nuxt 3\",\n \"styling\": \"TailwindCSS\",\n \"canvas\": \"Vue Flow\",\n \"auth\": \"Firebase Google\",\n \"storage\": \"In-memory\",\n \"pwa\": \"@vite-pwa/nuxt\"\n}\n```","x":100,"y":560,"width":320,"height":355,"color":"6"},
|
||
{"id":"future-1","type":"text","text":"# 🚀 Будущее Развитие\n\n- **Git Интеграция**\n - Commit/push/pull карт\n - История версий\n - Управление ветками\n\n- **AI Интеграция**\n - OpenClaw агенты\n - Автоматизация LLM узлов\n - Умные предложения\n\n- **Социальная Сеть**\n - Профили пользователей\n - Система подписок\n - Ленты активности","x":540,"y":450,"width":280,"height":465,"color":"1"},
|
||
{"id":"files-1","type":"text","text":"## Структура Проекта\n\n```\napp/\n├── components/\n│ ├── FlowEditor.vue\n│ └── FlowNodeRenderer.vue\n├── pages/\n│ ├── canvas.vue\n│ └── admin.vue\n└── server/api/\n```","x":540,"y":970,"width":280,"height":350,"color":"5"}
|
||
],
|
||
"edges":[
|
||
{"id":"e1","fromNode":"arch-1","fromSide":"right","toNode":"fe-1","toSide":"left","color":"1"},
|
||
{"id":"e2","fromNode":"arch-1","fromSide":"right","toNode":"be-1","toSide":"left","color":"1"},
|
||
{"id":"e3","fromNode":"arch-1","fromSide":"bottom","toNode":"nodes-1","toSide":"top","color":"1"},
|
||
{"id":"e4","fromNode":"fe-1","fromSide":"right","toNode":"feat-1","toSide":"left","color":"2"},
|
||
{"id":"e5","fromNode":"be-1","fromSide":"right","toNode":"feat-1","toSide":"left","color":"3"},
|
||
{"id":"e6","fromNode":"nodes-1","fromSide":"bottom","toNode":"tech-1","toSide":"top","color":"4"},
|
||
{"id":"e7","fromNode":"be-1","fromSide":"bottom","toNode":"future-1","toSide":"top","color":"3"},
|
||
{"id":"e8","fromNode":"feat-1","fromSide":"bottom","toNode":"db-1","toSide":"top","color":"5"},
|
||
{"id":"e9","fromNode":"db-1","fromSide":"bottom","toNode":"deploy-1","toSide":"top","color":"2"},
|
||
{"id":"e10","fromNode":"tech-1","fromSide":"right","toNode":"future-1","toSide":"left","color":"6"},
|
||
{"id":"e11","fromNode":"tech-1","fromSide":"bottom","toNode":"social-1","toSide":"top","color":"6"},
|
||
{"id":"e12","fromNode":"future-1","fromSide":"bottom","toNode":"files-1","toSide":"top","color":"1"},
|
||
{"id":"e13","fromNode":"social-1","fromSide":"right","toNode":"files-1","toSide":"left","color":"4"}
|
||
]
|
||
} |