Полностью независимое приложение для работы с Integram, включающее:
- Авторизацию и регистрацию пользователей
- Welcome страницу с онбордингом
- Полный функционал Integram (таблицы, объекты, редакторы)
- Чаты и коммуникации
- Меню и навигацию
git clone https://github.com/unidel2035/integram-standalone.git
cd integram-standalone# Frontend
npm install
# Backend
cd backend/monolith
npm install
cd ../..# Создать .env файлы
cp .env.example .env
cp backend/monolith/.env.example backend/monolith/.env
# Отредактировать .env при необходимости
nano .envМинимальная конфигурация для разработки:
Корневой .env:
VITE_API_URL=http://localhost:8081
VITE_WS_URL=ws://localhost:8081
VITE_INTEGRAM_URL=https://dronedoc.ruBackend .env (backend/monolith/.env):
PORT=8081
NODE_ENV=development
JWT_SECRET=your-development-secret-change-me
SESSION_SECRET=your-session-secret-change-me# Terminal 1 - Backend
cd backend/monolith
npm run dev
# Terminal 2 - Frontend
npm run devОткройте http://localhost:5174
Для первоначальной настройки проекта используйте автоматический скрипт:
# Сделать скрипт исполняемым (если еще не сделано)
chmod +x setup.sh
# Запустить автоматическую настройку
./setup.sh
# Или через npm
npm run setupСкрипт автоматически:
- Проверит установленные зависимости (Node.js, npm)
- Установит зависимости для frontend и backend
- Создаст
.envфайлы из примеров - Проверит корректность структуры проекта
# Установка зависимостей frontend
npm install
# Установка зависимостей backend
cd backend/monolith
npm install
cd ../..
# Создание .env файлов
cp .env.example .env
cp backend/monolith/.env.example backend/monolith/.env
# Запуск в режиме разработки
npm run dev
# Сборка для production
npm run build
# Запуск собранного приложения
npm run previewintegram-standalone/
├── src/
│ ├── views/
│ │ ├── pages/
│ │ │ ├── auth/ # Страницы авторизации
│ │ │ │ ├── Login.vue
│ │ │ │ ├── Register.vue
│ │ │ │ └── OAuthCallback.vue
│ │ │ ├── Integram/ # Страницы Integram
│ │ │ │ ├── IntegramLogin.vue
│ │ │ │ ├── IntegramMain.vue
│ │ │ │ ├── IntegramLanding.vue
│ │ │ │ ├── IntegramDictionary.vue
│ │ │ │ └── ...
│ │ │ └── Welcome.vue # Welcome страница
│ ├── components/
│ │ ├── chat/ # Компоненты чата
│ │ ├── integram/ # Компоненты Integram
│ │ ├── layout/ # Layout компоненты (меню, топбар)
│ │ ├── onboarding/ # Онбординг
│ │ └── ensembles/ # Ансамбли
│ ├── stores/ # Pinia stores
│ ├── services/ # API сервисы
│ ├── router/ # Vue Router
│ ├── assets/ # Статические ресурсы
│ └── main.js # Точка входа
├── backend/
│ └── monolith/
│ └── src/
│ ├── api/routes/ # API маршруты
│ ├── services/ # Backend сервисы
│ └── config/ # Конфигурация
├── public/ # Публичные файлы
├── package.json
├── vite.config.mjs
└── index.html
/login- Вход в систему/register- Регистрация/oauth/callback- OAuth callback
/welcome- Welcome страница (требует авторизации)
/integram- Главная страница Integram/integram/login- Вход в Integram/integram/:database- Работа с конкретной базой данных/integram/:database/dictionary- Словарь типов/integram/:database/objects/:typeId- Просмотр объектов/integram/:database/tables- Список таблиц
Создайте файл .env на основе .env.example:
cp .env.example .envНастройте переменные окружения:
VITE_API_URL- URL backend APIVITE_WS_URL- URL WebSocket сервераVITE_INTEGRAM_URL- URL Integram API
- Frontend: Vue 3, Vite, Vue Router, Pinia
- UI: PrimeVue 4, PrimeIcons, FontAwesome
- Backend: Node.js, Express
- API: Axios, Socket.io
Ошибка:
Rollup failed to resolve import "primevue/resources/themes/aura-light-blue/theme.css"
Решение:
- См. Issue #9
- PrimeVue 4+ использует встроенную систему тем
- Не импортируйте CSS темы вручную в
main.js
Ошибка:
Failed to resolve component: LandingHero
Решение:
- См. Issue #8
- Убедитесь, что все компоненты из
src/components/landing/присутствуют - Проверьте правильность импортов в
IntegramLanding.vue
Возможные причины:
-
Отсутствуют .env файлы
cp backend/monolith/.env.example backend/monolith/.env
-
Порт 8081 уже занят
# Найти процесс на порту 8081 lsof -i :8081 # Убить процесс kill -9 <PID> # Или измените PORT в .env
-
Отсутствуют обязательные переменные окружения
- Проверьте
JWT_SECRETиSESSION_SECRETвbackend/monolith/.env - См. Issue #10
- Проверьте
-
Дублирующиеся импорты
- См. Issue #14
- Проверьте синтаксис:
node -c backend/monolith/src/index.js
Проверьте:
- Backend запущен и слушает на порту 8081
- В корневом
.envправильно указанVITE_API_URL=http://localhost:8081 - Нет CORS ошибок в консоли браузера
Решение:
# Очистите кэш npm
npm cache clean --force
# Удалите node_modules и package-lock.json
rm -rf node_modules package-lock.json
# Переустановите зависимости
npm install- Полная независимость - не зависит от основного репозитория dronedoc2025
- Готовая авторизация - OAuth, Email, Registration
- Integram интеграция - полный функционал работы с базами данных
- Чаты - встроенная система коммуникаций
- Адаптивный дизайн - работает на всех устройствах
- Создайте компонент в
src/views/pages/ - Добавьте маршрут в
src/router/index-standalone.js - При необходимости добавьте guard для авторизации
- Создайте route в
backend/monolith/src/api/routes/ - Создайте service в
backend/monolith/src/services/ - Подключите в main server file
Проект включает полный набор E2E тестов на Playwright для тестирования функционала работы с таблицами Integram.
# Установить Playwright
npm install
# Установить браузеры
npx playwright install chromium
# Настроить учетные данные
cp .env.test.example .env.test
nano .env.test # Заполните реальные данные
# Запустить все тесты
npm test
# Запустить с UI
npm run test:ui- 35 тестов в 5 файлах
- 100% покрытие API endpoints
- 100% покрытие CRUD операций
- 5 специализированных фикстур
- Автоматическая очистка тестовых данных
| Набор | Файл | Тестов | Описание |
|---|---|---|---|
| Table Creation | table-create.spec.js |
5 | Создание таблиц через UI и API |
| Column Editing | table-columns.spec.js |
6 | Редактирование колонок |
| Cell Editing | table-cells.spec.js |
8 | CRUD операции с ячейками |
| Subordinate Tables | table-subordinate.spec.js |
7 | Иерархия parent-child |
| Reference Fields | table-references.spec.js |
9 | Справочники и lookup таблицы |
# Все тесты
npm test
# Тесты с UI
npm run test:ui
# В браузере (headed режим)
npm run test:headed
# Отладка
npm run test:debug
# Посмотреть отчет
npm run test:report
# Конкретный набор
npx playwright test table-create.spec.js
# Конкретный тест
npx playwright test -g "should create table"- 📖 Подробная документация:
tests/README.md - 📊 Отчет о тестировании:
TEST_REPORT.md - ⚙️ Конфигурация:
playwright.config.js
- ✅ Автоматический запуск dev сервера
- ✅ Скриншоты при падении тестов
- ✅ Trace для отладки
- ✅ Параллельное выполнение
- ✅ Автоматическая очистка данных
- ✅ Изоляция тестов
Proprietary