Убедитесь, что у вас установлены:
- Node.js (версия 14.0.0 или выше)
- npm (Node Package Manager)
- Go (для бэкенд части)
git clone https://github.com/your-username/go-diagram.git
cd go-diagram
# Установка frontend зависимостей
npm install
# Запуск frontend части
npm start
# Запуск backend WebSocket сервера
go run server.go
После запуска приложение будет доступно по адресу: http://localhost:3000
WebSocket сервер запустится на порту 5874
# Сборка frontend
npm run build
go-diagram/
├── app/
│ ├── js/
│ │ ├── actions/ # Redux actions
│ │ ├── components/ # React компоненты
│ │ ├── constants/ # Константы приложения
│ │ ├── reducers/ # Redux reducers
│ │ └── utils/ # Вспомогательные утилиты
│ └── css/ # Стили
├── cmd/
│ └── server/ # Go backend
└── web/ # Собранные frontend файлы
Проект поддерживает hot reload для React компонентов и Redux reducers. При изменении кода фронтенд части приложение автоматически перезагрузится.
WebSocket сервер автоматически синхронизирует изменения между клиентами. Убедитесь, что:
- Сервер запущен на порту 5874
- В браузере разрешены WebSocket соединения
Если возникают проблемы с WebSocket соединением:
- Проверьте, что сервер запущен и доступен
- Убедитесь, что порт 5874 не занят другими приложениями
- Проверьте консоль браузера на наличие ошибок
При проблемах с установкой npm пакетов:
# Очистка npm кеша
npm cache clean --force
# Удаление node_modules
rm -rf node_modules
# Повторная установка
npm install
- Frontend: 3000 (по умолчанию)
- WebSocket: 5874 (настраивается в server.go)
Для изменения портов:
- Frontend: измените в package.json скрипт start
- WebSocket: измените порт в server.go
- Создайте fork репозитория
- Создайте ветку для новой функциональности
- Внесите изменения
- Отправьте pull request