# 🚀 XFlow — Nuxt 3 PWA Визуальный менеджер задач на базе Obsidian Canvas. Работает офлайн, поддерживает уведомления и геймификацию. ## 📱 Возможности - ✅ **Obsidian Canvas** — визуальное управление задачами через граф - ✅ **Markdown ноды** — рендеринг содержимого с подсветкой синтаксиса - ✅ **PWA + Офлайн** — Service Worker, кэширование, установка на homescreen - ✅ **JWT Auth** — регистрация, вход, ролевая модель (RBAC) - ✅ **Web Push** — пуш-уведомления даже при закрытом приложении - ✅ **Будильники** — локальные вибро-уведомления - ✅ **Ачивки** — геймификация выполнения задач - ✅ **Админка** — управление скриптами и рассылкой пушей ## 🛠 Технологический стек | Компонент | Технология | |-----------|------------| | Framework | Nuxt 3 (Vue 3) | | Styling | Tailwind CSS | | Canvas | Vue Flow | | Markdown | markdown-it | | PWA | @vite-pwa/nuxt | | Backend API | Nitro (встроен в Nuxt) | | Auth | JWT | ## 🚀 Быстрый старт ### 1. Установка зависимостей ```bash npm install ``` ### 2. Настройка окружения ```bash cp .env.example .env # Отредактируй .env (JWT_SECRET, Postgres и т.д.) ``` ### 3. Запуск dev-сервера ```bash npm run dev ``` ### 4. Сборка для production ```bash npm run build npm run preview ``` ## 📁 Структура проекта ``` app/ ├── components/ # Vue компоненты (CanvasViewer, MarkdownNode, ...) ├── composables/ # Логика (useAuth, useCanvas, usePush, ...) ├── layouts/ # Layout'ы страниц ├── middleware/ # Route guards (auth, admin) ├── pages/ # Страницы (index, login, canvas, admin) ├── plugins/ # Client plugins (push notifications) ├── public/ # Статические ассеты (иконки PWA) └── server/ # Nitro API routes server/ # Legacy Express API (сохранён) ``` ## � Доступ - **Админ** — `admin@xflow.local` / `admin123` - **Регистрация** — доступна на `/login` ## 📄 Лицензия Internal use only --- **XFlow Team** 🚀