80 lines
2.6 KiB
Markdown
80 lines
2.6 KiB
Markdown
# 🚀 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** 🚀
|