IDMS (Integrated Diagram Modeling System) — это современная веб-платформа для создания, редактирования и управления диаграммами различных типов. Система поддерживает совместную работу, систему приглашений в проекты и предоставляет интуитивный drag-and-drop редактор.
- BPMN (Business Process Model and Notation) — моделирование бизнес-процессов
- ERD (Entity-Relationship Diagram) — проектирование баз данных
- DFD (Data Flow Diagram) — диаграммы потоков данных
- 🔐 Аутентификация — регистрация и вход с JWT токенами
- 📁 Управление проектами — создание, редактирование и удаление проектов
- 📊 Редактор диаграмм — современный drag-and-drop интерфейс на базе React Flow
- 🎨 Палитра элементов — различные элементы для каждого типа диаграмм
- 💾 Автосохранение — изменения сохраняются автоматически
- 🔒 Система блокировки — предотвращение конфликтов при совместной работе
- 👥 Совместная работа — приглашения пользователей в проекты
- 📱 Адаптивный дизайн — работает на всех устройствах
-
ERD редактор:
- Создание сущностей с атрибутами
- Настройка типов данных и ограничений (NOT NULL, UNIQUE, PK, FK)
- Связи между сущностями (1:1, 1:N, M:N)
- Контекстное меню для управления элементами
-
BPMN редактор:
- События (Start, End, Intermediate)
- Задачи и подпроцессы
- Шлюзы (Exclusive, Parallel, Inclusive)
- Пулы и дорожки
-
DFD редактор:
- Процессы и хранилища данных
- Внешние сущности
- Потоки данных
- FastAPI — современный Python веб-фреймворк
- SQLAlchemy — ORM для работы с базой данных
- Pydantic — валидация данных
- Python-JOSE — работа с JWT токенами
- Passlib (Argon2) — безопасное хэширование паролей
- SQLite — база данных (легко заменяется на PostgreSQL/MySQL)
- React 18 — библиотека для построения UI
- React Flow — библиотека для редактора диаграмм
- Vite — сборщик и dev-сервер
- Tailwind CSS — утилитарный CSS фреймворк
- React Router — маршрутизация
- Axios — HTTP клиент
- Python 3.11+
- Node.js 16+
- npm или yarn
git clone https://github.com/ValterGames-Coder/IDMS
cd IDMScd backend
# Создание виртуального окружения (опционально)
python -m venv venv
source venv/bin/activate # Linux/Mac
# или
venv\Scripts\activate # Windows
# Установка зависимостей
pip install -r requirements.txtcd frontend
npm installcd backend
python run.pyBackend будет доступен по адресу: http://localhost:8000
API документация:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
cd frontend
npm run devFrontend будет доступен по адресу: http://localhost:5173